From cd46675f1f37c0ba3a988232bc1138ebd8ecf843 Mon Sep 17 00:00:00 2001 From: Open Food Facts Bot <119524357+openfoodfacts-bot@users.noreply.github.com> Date: Sun, 21 Jul 2024 13:00:29 +0200 Subject: [PATCH] chore: New translations to review and merge (#5423) * New translations app_en.arb (Flemish) * New translations app_en.arb (Bosnian) * New translations app_en.arb (Sinhala) * New translations app_en.arb (Cornish) * New translations app_en.arb (Uzbek) * New translations app_en.arb (Kannada) * New translations app_en.arb (Akan) * New translations app_en.arb (Songhay) * New translations app_en.arb (Assamese) * New translations app_en.arb (Scottish Gaelic) * New translations app_en.arb (Wolof) * New translations app_en.arb (Southern Ndebele) * New translations app_en.arb (Walloon) * New translations app_en.arb (Asturian) * New translations app_en.arb (Malagasy) * New translations app_en.arb (Acholi) * New translations app_en.arb (Swahili) * New translations app_en.arb (Odia) * New translations app_en.arb (Norwegian Bokmal) * New translations app_en.arb (Occitan) * New translations app_en.arb (Valencian) * New translations app_en.arb (Serbian (Latin)) * New translations app_en.arb (Amharic) * New translations app_en.arb (Nepali) * New translations app_en.arb (Montenegrin (Cyrillic)) * New translations app_en.arb (Dutch, Belgium) * New translations app_en.arb (Tahitian) * New translations app_en.arb (Hausa) * New translations app_en.arb (Chuvash) * New translations app_en.arb (Berber) * New translations app_en.arb (Scots) * New translations app_en.arb (Tajik) * New translations app_en.arb (Lao) * New translations app_en.arb (Quechua) * New translations app_en.arb (Somali) * New translations app_en.arb (Yoruba) * New translations app_en.arb (Afar) * New translations app_en.arb (Bambara) * New translations app_en.arb (Chechen) * New translations app_en.arb (Cherokee) * New translations app_en.arb (Corsican) * New translations app_en.arb (Haitian Creole) * New translations app_en.arb (Sichuan Yi) * New translations app_en.arb (Inuktitut) * New translations app_en.arb (Javanese) * New translations app_en.arb (Santali) * New translations app_en.arb (Sardinian) * New translations app_en.arb (Sindhi) * New translations app_en.arb (Sango) * New translations app_en.arb (Shona) * New translations app_en.arb (Tigrinya) * New translations app_en.arb (Sanskrit) * New translations app_en.arb (Seychellois Creole) * New translations app_en.arb (Venetian) * New translations app_en.arb (Southern Sami) * New translations app_en.arb (Akan, Twi) * New translations app_en.arb (Talossan) * New translations app_en.arb (Zeelandic) * New translations app_en.arb (Kabyle) * New translations app_en.arb (Urdu (India)) * New translations app_en.arb (LOLCAT) * New translations app_en.arb (Ukrainian) * New translations app_en.arb (Tamil) * New translations app_en.arb (Hebrew) * New translations app_en.arb (German) * New translations app_en.arb (Portuguese) * New translations app_en.arb (Dutch) * New translations app_en.arb (Portuguese) * New translations app_en.arb (Dutch, Belgium) * New translations app_en.arb (Hebrew) * New translations app_en.arb (Thai) * New translations app_en.arb (Finnish) * New translations app_en.arb (Finnish) * New translations app_en.arb (Italian) * New translations app_en.arb (Chinese Simplified) * New translations app_en.arb (Dutch) * New translations app_en.arb (Serbian (Cyrillic)) * New translations app_en.arb (Chinese Traditional) * New translations app_en.arb (Portuguese, Brazilian) * New translations app_en.arb (English, Australia) * New translations app_en.arb (English, United Kingdom) * New translations app_en.arb (Chinese Traditional, Hong Kong) * New translations app_en.arb (Serbian (Latin)) * New translations app_en.arb (Montenegrin (Cyrillic)) * New translations app_en.arb (Dutch, Belgium) * New translations infoplist.strings (Portuguese) * New translations infoplist.strings (Portuguese, Brazilian) * Removing all files with parent folders containing 3 letter lang codes Remove files with parent folders containing 3-letter language codes * Delete `packages/smooth_app/ios/Runner/ach.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/ast.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/ber.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/chr.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/crs.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/fil.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/kab.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/sat.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/sco.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/sma.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/son.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/tzl.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/val.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/vec.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/vls.lproj/InfoPlist.strings` * Delete `packages/smooth_app/ios/Runner/zea.lproj/InfoPlist.strings` --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/openfoodfacts/smooth-app/pull/5423?shareId=654eba10-27cc-4573-81d1-566d37cab1e3). * New translations app_en.arb (French) * New translations app_en.arb (Chinese Simplified) * New translations app_en.arb (Czech) * cleanup * New translations app_en.arb (German) * New translations app_en.arb (Italian) * New translations app_en.arb (Lithuanian) * New translations app_en.arb (Dutch) * New translations app_en.arb (Italian) * New translations app_en.arb (Hebrew) * New translations app_en.arb (Czech) * New translations app_en.arb (Chinese Simplified) * New translations app_en.arb (English) * New translations app_en.arb (German) * New translations app_en.arb (Italian) * New translations app_en.arb (Lithuanian) * New translations app_en.arb (Dutch) * New translations app_en.arb (Hebrew) * New translations app_en.arb (Romanian) * New translations app_en.arb (French) * New translations app_en.arb (Spanish) * New translations app_en.arb (Afrikaans) * New translations app_en.arb (Arabic) * New translations app_en.arb (Belarusian) * New translations app_en.arb (Bulgarian) * New translations app_en.arb (Catalan) * New translations app_en.arb (Danish) * New translations app_en.arb (Greek) * New translations app_en.arb (Basque) * New translations app_en.arb (Finnish) * New translations app_en.arb (Irish) * New translations app_en.arb (Gujarati) * New translations app_en.arb (Hungarian) * New translations app_en.arb (Armenian) * New translations app_en.arb (Japanese) * New translations app_en.arb (Georgian) * New translations app_en.arb (Korean) * New translations app_en.arb (Kurdish) * New translations app_en.arb (Mongolian) * New translations app_en.arb (Norwegian) * New translations app_en.arb (Punjabi) * New translations app_en.arb (Polish) * New translations app_en.arb (Portuguese) * New translations app_en.arb (Russian) * New translations app_en.arb (Slovak) * New translations app_en.arb (Slovenian) * New translations app_en.arb (Albanian) * New translations app_en.arb (Serbian (Cyrillic)) * New translations app_en.arb (Swati) * New translations app_en.arb (Southern Sotho) * New translations app_en.arb (Swedish) * New translations app_en.arb (Tswana) * New translations app_en.arb (Turkish) * New translations app_en.arb (Tsonga) * New translations app_en.arb (Ukrainian) * New translations app_en.arb (Venda) * New translations app_en.arb (Xhosa) * New translations app_en.arb (Chinese Traditional) * New translations app_en.arb (Zulu) * New translations app_en.arb (Vietnamese) * New translations app_en.arb (Galician) * New translations app_en.arb (Icelandic) * New translations app_en.arb (Portuguese, Brazilian) * New translations app_en.arb (Indonesian) * New translations app_en.arb (Persian) * New translations app_en.arb (Khmer) * New translations app_en.arb (Tamil) * New translations app_en.arb (Bengali) * New translations app_en.arb (Marathi) * New translations app_en.arb (Thai) * New translations app_en.arb (Croatian) * New translations app_en.arb (Norwegian Nynorsk) * New translations app_en.arb (Kazakh) * New translations app_en.arb (Estonian) * New translations app_en.arb (Latvian) * New translations app_en.arb (Azerbaijani) * New translations app_en.arb (Hindi) * New translations app_en.arb (Kyrgyz) * New translations app_en.arb (Malay) * New translations app_en.arb (Maori) * New translations app_en.arb (Telugu) * New translations app_en.arb (English, Australia) * New translations app_en.arb (English, United Kingdom) * New translations app_en.arb (Tagalog) * New translations app_en.arb (Burmese) * New translations app_en.arb (Yiddish) * New translations app_en.arb (Maltese) * New translations app_en.arb (Welsh) * New translations app_en.arb (Faroese) * New translations app_en.arb (Esperanto) * New translations app_en.arb (Uyghur) * New translations app_en.arb (Filipino) * New translations app_en.arb (Luxembourgish) * New translations app_en.arb (Chinese Traditional, Hong Kong) * New translations app_en.arb (Tatar) * New translations app_en.arb (Malayalam) * New translations app_en.arb (Breton) * New translations app_en.arb (Romansh) * New translations app_en.arb (Tibetan) * New translations app_en.arb (Latin) * New translations app_en.arb (Flemish) * New translations app_en.arb (Bosnian) * New translations app_en.arb (Sinhala) * New translations app_en.arb (Cornish) * New translations app_en.arb (Uzbek) * New translations app_en.arb (Kannada) * New translations app_en.arb (Akan) * New translations app_en.arb (Songhay) * New translations app_en.arb (Assamese) * New translations app_en.arb (Scottish Gaelic) * New translations app_en.arb (Wolof) * New translations app_en.arb (Southern Ndebele) * New translations app_en.arb (Walloon) * New translations app_en.arb (Asturian) * New translations app_en.arb (Malagasy) * New translations app_en.arb (Acholi) * New translations app_en.arb (Swahili) * New translations app_en.arb (Odia) * New translations app_en.arb (Norwegian Bokmal) * New translations app_en.arb (Occitan) * New translations app_en.arb (Valencian) * New translations app_en.arb (Serbian (Latin)) * New translations app_en.arb (Amharic) * New translations app_en.arb (Nepali) * New translations app_en.arb (Montenegrin (Cyrillic)) * New translations app_en.arb (Dutch, Belgium) * New translations app_en.arb (Tahitian) * New translations app_en.arb (Hausa) * New translations app_en.arb (Chuvash) * New translations app_en.arb (Berber) * New translations app_en.arb (Scots) * New translations app_en.arb (Tajik) * New translations app_en.arb (Lao) * New translations app_en.arb (Quechua) * New translations app_en.arb (Somali) * New translations app_en.arb (Yoruba) * New translations app_en.arb (Afar) * New translations app_en.arb (Bambara) * New translations app_en.arb (Chechen) * New translations app_en.arb (Cherokee) * New translations app_en.arb (Corsican) * New translations app_en.arb (Haitian Creole) * New translations app_en.arb (Sichuan Yi) * New translations app_en.arb (Inuktitut) * New translations app_en.arb (Javanese) * New translations app_en.arb (Santali) * New translations app_en.arb (Sardinian) * New translations app_en.arb (Sindhi) * New translations app_en.arb (Sango) * New translations app_en.arb (Shona) * New translations app_en.arb (Tigrinya) * New translations app_en.arb (Sanskrit) * New translations app_en.arb (Seychellois Creole) * New translations app_en.arb (Venetian) * New translations app_en.arb (Southern Sami) * New translations app_en.arb (Akan, Twi) * New translations app_en.arb (Talossan) * New translations app_en.arb (Zeelandic) * New translations app_en.arb (Kabyle) * New translations app_en.arb (Urdu (India)) * New translations app_en.arb (LOLCAT) * clean --------- Co-authored-by: Pierre Slamich Co-authored-by: Pierre Slamich --- packages/smooth_app/lib/l10n/app_aa.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_af.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ak.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_am.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ar.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_as.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_az.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_be.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_bg.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_bm.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_bn.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_bo.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_br.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_bs.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ca.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ce.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_co.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_cs.arb | 121 ++++++++-- packages/smooth_app/lib/l10n/app_cv.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_cy.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_da.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_de.arb | 109 ++++++++- packages/smooth_app/lib/l10n/app_el.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_eo.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_es.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_et.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_eu.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_fa.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_fi.arb | 303 ++++++++++++++++-------- packages/smooth_app/lib/l10n/app_fo.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_fr.arb | 109 ++++++++- packages/smooth_app/lib/l10n/app_ga.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_gd.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_gl.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_gu.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ha.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_he.arb | 155 +++++++++--- packages/smooth_app/lib/l10n/app_hi.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_hr.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ht.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_hu.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_hy.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_id.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ii.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_is.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_it.arb | 153 +++++++++--- packages/smooth_app/lib/l10n/app_iu.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ja.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_jv.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ka.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_kk.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_km.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_kn.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ko.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ku.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_kw.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ky.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_la.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_lb.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_lo.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_lt.arb | 105 +++++++- packages/smooth_app/lib/l10n/app_lv.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_mg.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_mi.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ml.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_mn.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_mr.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ms.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_mt.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_my.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_nb.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ne.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_nl.arb | 105 +++++++- packages/smooth_app/lib/l10n/app_nn.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_no.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_nr.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_oc.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_or.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_pa.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_pl.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_pt.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_qu.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_rm.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ro.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ru.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sa.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sc.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sd.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sg.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_si.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sk.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sl.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sn.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_so.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sq.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sr.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ss.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_st.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sv.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_sw.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ta.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_te.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_tg.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_th.arb | 105 +++++++- packages/smooth_app/lib/l10n/app_ti.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_tl.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_tn.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_tr.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ts.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_tt.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_tw.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ty.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ug.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_uk.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ur.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_uz.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_ve.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_vi.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_wa.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_wo.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_xh.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_yi.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_yo.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_zh.arb | 103 +++++++- packages/smooth_app/lib/l10n/app_zu.arb | 103 +++++++- 125 files changed, 12419 insertions(+), 794 deletions(-) diff --git a/packages/smooth_app/lib/l10n/app_aa.arb b/packages/smooth_app/lib/l10n/app_aa.arb index 4c629c401ac..a858dc90150 100644 --- a/packages/smooth_app/lib/l10n/app_aa.arb +++ b/packages/smooth_app/lib/l10n/app_aa.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_af.arb b/packages/smooth_app/lib/l10n/app_af.arb index 21d0f14f6cb..8f3560347d9 100644 --- a/packages/smooth_app/lib/l10n/app_af.arb +++ b/packages/smooth_app/lib/l10n/app_af.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Neem 'n foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ak.arb b/packages/smooth_app/lib/l10n/app_ak.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_ak.arb +++ b/packages/smooth_app/lib/l10n/app_ak.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_am.arb b/packages/smooth_app/lib/l10n/app_am.arb index 416ed2c77ed..5e051b28f8c 100644 --- a/packages/smooth_app/lib/l10n/app_am.arb +++ b/packages/smooth_app/lib/l10n/app_am.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ar.arb b/packages/smooth_app/lib/l10n/app_ar.arb index 1f9dcc97150..40546085805 100644 --- a/packages/smooth_app/lib/l10n/app_ar.arb +++ b/packages/smooth_app/lib/l10n/app_ar.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "حسناً", "@okay": {}, + "validate": "التحقق", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "إنشاء", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "اطلع على بيانات الطعام ذات الصلة بتفضيلاتك.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "تحديث الصورة", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "تحديث الصورة", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "الحالة", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "معطيات", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "التقاط صورة", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_as.arb b/packages/smooth_app/lib/l10n/app_as.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_as.arb +++ b/packages/smooth_app/lib/l10n/app_as.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_az.arb b/packages/smooth_app/lib/l10n/app_az.arb index 7b7b86c1735..d4284cb8d0e 100644 --- a/packages/smooth_app/lib/l10n/app_az.arb +++ b/packages/smooth_app/lib/l10n/app_az.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Oldu", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_be.arb b/packages/smooth_app/lib/l10n/app_be.arb index f573d468abb..ba8ce480ed5 100644 --- a/packages/smooth_app/lib/l10n/app_be.arb +++ b/packages/smooth_app/lib/l10n/app_be.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Добра", "@okay": {}, + "validate": "Праверыць", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Выбірайце прадукты, карысныя для вас і планеты.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Паглядзіце даныя аб прадуктах, якія адпавядаюць вашым перавагам.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Абнавіць фота", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Абнавіць фота", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Даныя", @@ -2179,7 +2264,11 @@ }, "capture": "Зрабіць здымак", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Сфатаграфаваць", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Выбраць з галерэі", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_bg.arb b/packages/smooth_app/lib/l10n/app_bg.arb index 4f79aa0a9fa..5320d612b09 100644 --- a/packages/smooth_app/lib/l10n/app_bg.arb +++ b/packages/smooth_app/lib/l10n/app_bg.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Добре", "@okay": {}, + "validate": "Потвърди", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Създай", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Избери храна, която е полезна за теб и за планетата.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Виж информация за храната, която отговаря на твоите предпочитания.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Обнови снимката", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Обнови снимката", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Статус", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Данни", @@ -2179,7 +2264,11 @@ }, "capture": "Ново заснемане", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Направи снимка", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Избери от галерията", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_bm.arb b/packages/smooth_app/lib/l10n/app_bm.arb index 034656adb48..eb8afe7d449 100644 --- a/packages/smooth_app/lib/l10n/app_bm.arb +++ b/packages/smooth_app/lib/l10n/app_bm.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_bn.arb b/packages/smooth_app/lib/l10n/app_bn.arb index df9e896913f..6d3c5d03582 100644 --- a/packages/smooth_app/lib/l10n/app_bn.arb +++ b/packages/smooth_app/lib/l10n/app_bn.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "ওকে", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "এমন খাবার বাছাই করুন যা আপনার জন্য ভালো এবং পৃথিবীর জন্যও ভালো।", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "আপনার পছন্দসই খাবার সংশ্লিষ্ট তথ্যাবলি দেখুন।", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "তথ্য", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "একটি ছবি নিন", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_bo.arb b/packages/smooth_app/lib/l10n/app_bo.arb index d880cf68188..a04870a85f2 100644 --- a/packages/smooth_app/lib/l10n/app_bo.arb +++ b/packages/smooth_app/lib/l10n/app_bo.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_br.arb b/packages/smooth_app/lib/l10n/app_br.arb index a47c5ccddb6..050cdd513ac 100644 --- a/packages/smooth_app/lib/l10n/app_br.arb +++ b/packages/smooth_app/lib/l10n/app_br.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Krouiñ", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Roadennoù", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Tapout ur skeudenn", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_bs.arb b/packages/smooth_app/lib/l10n/app_bs.arb index 9f80e3cf392..7796e6b3686 100644 --- a/packages/smooth_app/lib/l10n/app_bs.arb +++ b/packages/smooth_app/lib/l10n/app_bs.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "U redu", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Birajte hranu koja je dobra za vas i planetu.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Pogledajte podatke o hrani koji su relevantni za vaše preference.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ca.arb b/packages/smooth_app/lib/l10n/app_ca.arb index cd0811b7bed..146dffbc17f 100644 --- a/packages/smooth_app/lib/l10n/app_ca.arb +++ b/packages/smooth_app/lib/l10n/app_ca.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "D'acord", "@okay": {}, + "validate": "Validar", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Crea", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Trieu menjar que sigui bo per a vosaltres i per al planeta.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Consulteu les dades dels aliments rellevants per a les vostres preferències.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Actualitza la foto", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Actualitza la foto", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Estat", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Dades", @@ -2179,7 +2264,11 @@ }, "capture": "Nova captura", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Fer una foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Triar de la galeria", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ce.arb b/packages/smooth_app/lib/l10n/app_ce.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_ce.arb +++ b/packages/smooth_app/lib/l10n/app_ce.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_co.arb b/packages/smooth_app/lib/l10n/app_co.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_co.arb +++ b/packages/smooth_app/lib/l10n/app_co.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_cs.arb b/packages/smooth_app/lib/l10n/app_cs.arb index aac58d30cc8..90bb6eeb68e 100644 --- a/packages/smooth_app/lib/l10n/app_cs.arb +++ b/packages/smooth_app/lib/l10n/app_cs.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Potvrdit", "@okay": {}, + "validate": "Ověřit", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Vytvořit", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Vyberte si jídlo, které je dobré pro vás i planetu.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Podívejte se na údaje o jídle relevantní pro vaše preference.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Obnovit fotku", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Obnovit fotku", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,20 +1732,45 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Stav", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Zástupce pro aplikaci Ceny na produktové stránce", "prices_app_button": "Přejít do aplikace Ceny", "prices_generic_title": "Ceny", "prices_add_n_prices": "{count,plural, =1{Add a price} other{App {count} prices}}", "prices_send_n_prices": "{count,plural, =1{Send the price} other{Send {count} prices}}", - "prices_add_an_item": "Add an item", + "prices_add_an_item": "Přidat položku", "prices_add_a_price": "Přidat cenu", - "prices_add_a_receipt": "Add a receipt", + "prices_add_a_receipt": "Přidat účtenku", "prices_add_price_tags": "Add price tags", "prices_barcode_search_not_found": "Produkt nebyl nalezen", - "prices_barcode_search_none_yet": "No product yet", - "prices_barcode_search_question": "Do you want to look for this product?", + "prices_barcode_search_none_yet": "Zatím žádný produkt", + "prices_barcode_search_question": "Chcete vyhledat tento produkt?", "prices_barcode_search_title": "Hledat produkt", - "prices_barcode_search_running": "Looking for {barcode}", + "prices_barcode_search_running": "Hledání {barcode}", "@prices_barcode_search_running": { "description": "Dialog title about barcode look-up", "placeholders": { @@ -1738,8 +1779,20 @@ } } }, - "prices_barcode_reader_action": "Barcode reader", + "prices_barcode_reader_action": "Čtečka čárových kódů", "prices_view_prices": "Zobrazit ceny", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{Zatím žádná cena} =1{Pouze 1 cena} few{Všechny {count} ceny} other{Všech {count} cen}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1823,9 +1907,10 @@ "@dev_preferences_import_history_result_success": { "description": "User dev preferences - Import history - Result successful" }, - "dev_mode_section_server": "Server configuration", - "dev_mode_section_product_page": "Product page", - "dev_mode_section_ui": "User Interface", + "dev_mode_section_server": "Konfigurace serveru", + "dev_mode_section_news": "Konfigurace poskytovatele zpráv", + "dev_mode_section_product_page": "Stránka produktu", + "dev_mode_section_ui": "Uživatelské rozhraní", "dev_mode_section_data": "Údaje", "dev_mode_section_experimental_features": "Experimental features", "dev_mode_hide_ecoscore_title": "Vyloučit Eco-Score", @@ -2179,7 +2264,11 @@ }, "capture": "Zachytit nový", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Vyfotit", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Vybrat z galerie", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_cv.arb b/packages/smooth_app/lib/l10n/app_cv.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_cv.arb +++ b/packages/smooth_app/lib/l10n/app_cv.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_cy.arb b/packages/smooth_app/lib/l10n/app_cy.arb index 1c3b2975c95..bff3117caae 100644 --- a/packages/smooth_app/lib/l10n/app_cy.arb +++ b/packages/smooth_app/lib/l10n/app_cy.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Tynnu llun", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_da.arb b/packages/smooth_app/lib/l10n/app_da.arb index 90bc68b80ec..1281993f4c3 100644 --- a/packages/smooth_app/lib/l10n/app_da.arb +++ b/packages/smooth_app/lib/l10n/app_da.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "OK", "@okay": {}, + "validate": "Bekræftelse", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Opret", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Vælg fødevarer, som er gode for dig og planeten.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Se fødevaredata relevante for dine præferencer.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Opfrisk foto", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Opfrisk foto", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Stregkodelæser", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Tag et nyt", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Tag et billede", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Vælg fra galleri", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_de.arb b/packages/smooth_app/lib/l10n/app_de.arb index 9af6a20011c..d8fafdee4a6 100644 --- a/packages/smooth_app/lib/l10n/app_de.arb +++ b/packages/smooth_app/lib/l10n/app_de.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Bestätigen", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Erstellen", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Wählen Sie die Lebensmittel, die gut für Sie und für den Planeten sind.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Lassen Sie sich die für Ihre Vorlieben relevanten Lebensmitteldaten anzeigen.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Warum wird diese Meldung angezeigt?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "Um die Funktion \"Zutaten extrahieren\" nutzen zu können, muss das Foto zunächst hochgeladen werden.\n\nBitte warten Sie ein paar Sekunden oder geben Sie sie manuell ein.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Foto aktualisieren", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Warum wird diese Meldung angezeigt?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "Um die Funktion \"Verpackung extrahieren\" nutzen zu können, muss das Foto zunächst hochgeladen werden.\n\nBitte warten Sie ein paar Sekunden oder geben Sie es manuell ein.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Foto aktualisieren", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,11 +1732,36 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Benutzerdefinierte URL für Nachrichten", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL der JSON-Datei:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Nicht festgelegt", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Letzte Aktualisierung: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Verknüpfung zur Preise-App auf der Produktseite", "prices_app_button": "Zur Preise-App wechseln", "prices_generic_title": "Preise", - "prices_add_n_prices": "{count,plural, one {}=1{Preis hinzufügen} other{{count} Preise hinzufügen}}", - "prices_send_n_prices": "{count,plural, one {}=1{Preis senden} other{{count} Preise senden}}", + "prices_add_n_prices": "{count,plural, =1{Preis hinzufügen} other{{count} Preise hinzufügen}}", + "prices_send_n_prices": "{count,plural, =1{Preis senden} other{{count} Preise senden}}", "prices_add_an_item": "Ein Element hinzufügen", "prices_add_a_price": "Preis hinzufügen", "prices_add_a_receipt": "Beleg hinzufügen", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcodelesegerät", "prices_view_prices": "Preise anzeigen", + "prices_product_accessibility_summary": "{count,plural, =1{1 Preis} other{{count} Preise}} für {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{Noch kein Preis} =1{Nur ein Preis} other{Alle {count} Preise}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,7 +1814,38 @@ } } }, - "prices_proofs_list_length_one_page": "{count,plural, one {}=0{Noch kein Nachweis} =1{Nur ein Nachweis} other{Alle {count} Nachweise}}", + "prices_entry_accessibility_label": "Preis: {price} / Laden: „{location}” / Veröffentlicht am {date} von „{user}”", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Nachweise von „{user}” öffnen", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Preisnachweis öffnen", + "@prices_open_proof": { + "description": "Button to open a proof" + }, + "prices_proofs_list_length_one_page": "{count,plural, =0{Noch kein Nachweis} =1{Nur ein Nachweis} other{Alle {count} Nachweise}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", "placeholders": { @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Serverkonfiguration", + "dev_mode_section_news": "Konfiguration des Nachrichtenanbieters", "dev_mode_section_product_page": "Produktseite", "dev_mode_section_ui": "Benutzeroberfläche", "dev_mode_section_data": "Daten", @@ -2179,7 +2264,11 @@ }, "capture": "Neu erfassen", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Foto aufnehmen", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Aus Galerie wählen", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Vorschau", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Klicken Sie hier, um uns Ihr Feedback zu dieser neuen Funktion zu senden!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_el.arb b/packages/smooth_app/lib/l10n/app_el.arb index 5a60a511338..286b18ab677 100644 --- a/packages/smooth_app/lib/l10n/app_el.arb +++ b/packages/smooth_app/lib/l10n/app_el.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Εντάξει", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Δημιουργία", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Επιλέξτε τροφές που κάνουν καλό σε εσάς και τον πλανήτη.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Δείτε τα δεδομένα τροφίμων που σχετίζονται με τις προτιμήσεις σας.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Ανανέωση φωτογραφίας", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Ανανέωση φωτογραφίας", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Δεδομένα", @@ -2179,7 +2264,11 @@ }, "capture": "Λήψη νέας", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Τραβήξτε μια φωτογραφία", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Επιλέξτε από τη συλλογή", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_eo.arb b/packages/smooth_app/lib/l10n/app_eo.arb index 4b83b9f54aa..790a2629357 100644 --- a/packages/smooth_app/lib/l10n/app_eo.arb +++ b/packages/smooth_app/lib/l10n/app_eo.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_es.arb b/packages/smooth_app/lib/l10n/app_es.arb index 83aba39111e..146258fc1de 100644 --- a/packages/smooth_app/lib/l10n/app_es.arb +++ b/packages/smooth_app/lib/l10n/app_es.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Vale", "@okay": {}, + "validate": "Validar", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Crear", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Elige alimentos que sean buenos para ti y para el planeta.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Consulta los datos de los alimentos relacionados con tus preferencias.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Actualizar foto", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Actualizar foto", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Estado", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Acceso directo a la aplicación Prices en la página del producto", "prices_app_button": "Ir a la aplicación Prices", "prices_generic_title": "Precios", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Datos", @@ -2179,7 +2264,11 @@ }, "capture": "Nueva captura", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Saca una foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Seleccionar de la galería", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_et.arb b/packages/smooth_app/lib/l10n/app_et.arb index 050e4ce7d3c..2970c50a16d 100644 --- a/packages/smooth_app/lib/l10n/app_et.arb +++ b/packages/smooth_app/lib/l10n/app_et.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ok", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Loo", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Andmed", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Tehke foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_eu.arb b/packages/smooth_app/lib/l10n/app_eu.arb index 594021bf777..9cd75499e14 100644 --- a/packages/smooth_app/lib/l10n/app_eu.arb +++ b/packages/smooth_app/lib/l10n/app_eu.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ados", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Sortu", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Aukeratu zuretzat eta planetarentzako elikagai egokiak.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Zure lehentasunekin bat datozen elikagaien datuak ikusi.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Prezioak aplikazioko produktuaren orrirako laster-bidea", "prices_app_button": "Joan Prezioak aplikaziora", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Datuak", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Atera argazki bat", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_fa.arb b/packages/smooth_app/lib/l10n/app_fa.arb index 389afe3a5b9..f1ce484d3af 100644 --- a/packages/smooth_app/lib/l10n/app_fa.arb +++ b/packages/smooth_app/lib/l10n/app_fa.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "باشه", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "یک عکس بگیرید", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_fi.arb b/packages/smooth_app/lib/l10n/app_fi.arb index 26cf7e07dbf..f237ab1ad1c 100644 --- a/packages/smooth_app/lib/l10n/app_fi.arb +++ b/packages/smooth_app/lib/l10n/app_fi.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okei", "@okay": {}, + "validate": "Vahvista", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Luo", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Valitse ruoka, joka tekee hyvää sinulle ja planeetalle.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Katso valintoihisi liittyvät ruokatietosi.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -566,7 +566,7 @@ "@new_product_dialog_description": { "description": "Please keep it short, like less than 100 characters. Explanatory text of the dialog when the user searched for an unknown barcode." }, - "new_product_dialog_illustration_description": "An illustration with unknown Nutri-Score and Eco-Score", + "new_product_dialog_illustration_description": "Kuva tuntemattomilla Nutri-Score- ja Eco-Score-pisteillä", "@new_product_dialog_illustration_description": { "description": "A description for accessibility of two images side by side: a Nutri-Score and an EcoScore." }, @@ -740,7 +740,7 @@ "@view_more_photo_button": {}, "no_product_found": "Tuotetta ei löytynyt", "@no_product_found": {}, - "no_location_found": "No location found", + "no_location_found": "Sijaintia ei löytynyt", "not_found": "ei löytynyt:", "refreshing_product": "Päivitetään tuotetta", "@refreshing_product": { @@ -750,7 +750,7 @@ "@product_refreshed": { "description": "Confirmation, that the product data refresh is done" }, - "product_image_accessibility_label": "Image taken on {date}", + "product_image_accessibility_label": "Kuva otettu {date}", "@product_image_accessibility_label": { "placeholders": { "date": { @@ -759,7 +759,7 @@ } } }, - "product_image_outdated_accessibility_label": "Image taken on {date}. This image may be outdated", + "product_image_outdated_accessibility_label": "Kuva otettu {date}. Tämä kuva saattaa olla vanhentunut", "@product_image_outdated_accessibility_label": { "placeholders": { "date": { @@ -768,20 +768,20 @@ } } }, - "homepage_main_card_logo_description": "Welcome to Open Food Facts", + "homepage_main_card_logo_description": "Tervetuloa Open Food Factsiin", "@homepage_main_card_logo_description": { "description": "Description for accessibility of the Open Food Facts logo on the homepage" }, - "homepage_main_card_subheading": "**Scan** a barcode or\n**search** for a product", + "homepage_main_card_subheading": "**Skannaa** viivakoodi tai\n**hae** tuotetta", "@homepage_main_card_subheading": { "description": "Text between asterisks (eg: **My Text**) means text in bold. Please keep it." }, "homepage_main_card_search_field_hint": "Etsi tuote", - "homepage_main_card_search_field_tooltip": "Start search", + "homepage_main_card_search_field_tooltip": "Aloita haku", "@homepage_main_card_search_field_tooltip": { "description": "Description for accessibility of the search field on the homepage" }, - "scan_tagline_news_item_accessibility": "Latest news: {news_title}", + "scan_tagline_news_item_accessibility": "Viimeisimmät uutiset: {news_title}", "@scan_tagline_news_item_accessibility": { "description": "Accessibility label for the title of a news", "placeholders": { @@ -794,7 +794,7 @@ "tagline_app_review_button_positive": "Rakastan sitä! 😍", "tagline_app_review_button_negative": "En juurikaan…", "tagline_app_review_button_later": "Kysy myöhemmin", - "tagline_feed_news_button": "Know more", + "tagline_feed_news_button": "Lisätietoja", "app_review_negative_modal_title": "Etkö pidä sovelluksestamme?", "app_review_negative_modal_text": "Voisitko käyttää muutaman sekunnin kertoaksesi meille miksi?", "app_review_negative_modal_positive_button": "Kyllä, ehdottomasti!", @@ -803,8 +803,8 @@ "@could_not_refresh": { "description": "The product data couldn't be refreshed" }, - "product_internet_error_modal_title": "An error has occurred!", - "product_internet_error_modal_message": "We are unable to fetch information about this product due to a network error. Please check your internet connection and try again.\n\nInternal error:\n{error}", + "product_internet_error_modal_title": "Tapahtui virhe!", + "product_internet_error_modal_message": "Emme voi noutaa tietoja tästä tuotteesta verkkovirheen vuoksi. Tarkista internet-yhteytesi ja yritä uudelleen.\n\nSisäinen virhe:\n{error}", "@product_internet_error_modal_message": { "placeholders": { "error": { @@ -857,11 +857,11 @@ "@currency_chooser_label": { "description": "Label shown above a selector where the user can select their currency (in the preferences)" }, - "country_change_message": "You have just changed countries.", + "country_change_message": "Olet juuri vaihtanut maata.", "@country_change_message": { "description": "Message stating the change of countries" }, - "currency_auto_change_message": "Do you want to change the currency from {previousCurrency} to {possibleCurrency}?", + "currency_auto_change_message": "Haluatko vaihtaa valuutan {previousCurrency} arvoon {possibleCurrency}?", "@currency_auto_change_message": { "description": "Message asking to confirm the change of currencies", "placeholders": { @@ -1119,8 +1119,8 @@ } } }, - "onboarding_home_welcome_text1": "Welcome !", - "onboarding_home_welcome_text2": "The app that helps you choose food that is good for **you** and the **planet**!", + "onboarding_home_welcome_text1": "Tervetuloa !", + "onboarding_home_welcome_text2": "Sovellus, joka auttaa sinua valitsemaan ruokaa, joka sopii **sinulle** ja **planeetalle**!", "@onboarding_home_welcome_text2": { "description": "Onboarding home screen welcome text, text surrounded by * will be bold" }, @@ -1235,7 +1235,7 @@ "@camera_play_sound_subtitle": { "description": "SubTitle for the Camera play sound toggle" }, - "camera_window_accessibility_label": "Scan a barcode with your camera", + "camera_window_accessibility_label": "Skannaa viivakoodi kamerallasi", "@camera_window_accessibility_label": { "description": "Accessibility label for the camera window" }, @@ -1479,34 +1479,50 @@ "completed_basic_details_btn_text": "Täytä perustiedot", "not_implemented_snackbar_text": "Ei vielä käytössä", "category_picker_page_appbar_text": "Tuoteluokat", - "edit_ingredients_extract_ingredients_btn_text": "Extract ingredients from the photo", + "edit_ingredients_extract_ingredients_btn_text": "Poimi ainesosat valokuvasta", "@edit_ingredients_extract_ingredients_btn_text": { "description": "Ingredients edition - Extract ingredients" }, - "edit_ingredients_extracting_ingredients_btn_text": "Extracting ingredients\nfrom the photo", + "edit_ingredients_extracting_ingredients_btn_text": "Poimitaan ainesosia\nkuvasta", "@edit_ingredients_extracting_ingredients_btn_text": { "description": "Ingredients edition - Extracting ingredients" }, - "edit_ingredients_loading_photo_btn_text": "Loading photo…", + "edit_ingredients_loading_photo_btn_text": "Ladataan kuvaa…", "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Miksi näen tämän viestin?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "Jotta voit käyttää \"Ota ainesosat\" -ominaisuutta, valokuva on ensin ladattava.\n\nOdota muutama sekunti tai kirjoita ne manuaalisesti.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Päivitä kuva", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" }, - "edit_packaging_extract_btn_text": "Extract packaging\nfrom the photo", + "edit_packaging_extract_btn_text": "Poimi pakkaus\nvalokuvasta", "@edit_packaging_extract_btn_text": { "description": "Packaging edition - OCR-Extract packaging" }, - "edit_packaging_extracting_btn_text": "Extracting packaging from the photo", + "edit_packaging_extracting_btn_text": "Poimitaan pakkausta kuvasta", "@edit_packaging_extracting_btn_text": { "description": "Packaging edition - OCR-Extracting packaging" }, - "edit_packaging_loading_photo_btn_text": "Loading photo…", + "edit_packaging_loading_photo_btn_text": "Ladataan kuvaa…", "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Miksi näen tämän viestin?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "Jotta voit käyttää \"Ota pakkaus\" -ominaisuutta, valokuva on ensin ladattava.\n\nOdota muutama sekunti tai kirjoita ne manuaalisesti.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Päivitä kuva", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,20 +1732,45 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Muokattu URL-osoite uutisille", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "JSON-tiedoston URL-osoite:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Ei määritetty", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Tila", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Viimeisin päivitys: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Pikakuvake Hinnat-sovellukseen tuotesivulla", "prices_app_button": "Siirry Hinnat-sovellukseen", "prices_generic_title": "Hinnat", - "prices_add_n_prices": "{count,plural, =1{Add a price} other{App {count} prices}}", - "prices_send_n_prices": "{count,plural, =1{Send the price} other{Send {count} prices}}", - "prices_add_an_item": "Add an item", + "prices_add_n_prices": "{count,plural, =1{Lisää hinta} other{Lisää {count} hintaa}}", + "prices_send_n_prices": "{count,plural, =1{Lähetä hinta} other{Lähetä {count} hintaa}}", + "prices_add_an_item": "Lisää tuote", "prices_add_a_price": "Lisää hinta", - "prices_add_a_receipt": "Add a receipt", - "prices_add_price_tags": "Add price tags", + "prices_add_a_receipt": "Lisää kuitti", + "prices_add_price_tags": "Lisää hintalaput", "prices_barcode_search_not_found": "Tuotetta ei löytynyt", - "prices_barcode_search_none_yet": "No product yet", - "prices_barcode_search_question": "Do you want to look for this product?", + "prices_barcode_search_none_yet": "Ei tuotetta vielä", + "prices_barcode_search_question": "Haluatko etsiä tätä tuotetta?", "prices_barcode_search_title": "Tuotehaku", - "prices_barcode_search_running": "Looking for {barcode}", + "prices_barcode_search_running": "Etsitään {barcode}", "@prices_barcode_search_running": { "description": "Dialog title about barcode look-up", "placeholders": { @@ -1738,9 +1779,21 @@ } } }, - "prices_barcode_reader_action": "Barcode reader", - "prices_view_prices": "View the prices", - "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", + "prices_barcode_reader_action": "Viivakoodinlukija", + "prices_view_prices": "Katso hinnat", + "prices_product_accessibility_summary": "{count,plural, =1{1 hinta} other{{count} hintaa}} tuotteelle {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, + "prices_list_length_one_page": "{count,plural, =0{Ei hintaa vielä} =1{Vain yksi hinta} other{Kaikki {count} hintaa}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", "placeholders": { @@ -1749,7 +1802,7 @@ } } }, - "prices_list_length_many_pages": "Latest {pageSize} prices (total: {total})", + "prices_list_length_many_pages": "Viimeisimmät {pageSize} hinnat (yhteensä: {total})", "@prices_list_length_many_pages": { "description": "Number of prices for one-page result", "placeholders": { @@ -1761,7 +1814,38 @@ } } }, - "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", + "prices_entry_accessibility_label": "Hinta: {price} / Kauppa: \"{location}\" / tekijän \"{user}\" päivämääränä {date} julkaisema", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Avaa käyttäjän \"{user}\" todisteet", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Avaa hintatodiste", + "@prices_open_proof": { + "description": "Button to open a proof" + }, + "prices_proofs_list_length_one_page": "{count,plural, =0{Ei vielä todisteita} =1{Vain yksi todiste} other{Kaikki {count} todistetta}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", "placeholders": { @@ -1770,7 +1854,7 @@ } } }, - "prices_proofs_list_length_many_pages": "Latest {pageSize} proofs (total: {total})", + "prices_proofs_list_length_many_pages": "Viimeisimmät {pageSize} todisteet (yhteensä: {total})", "@prices_proofs_list_length_many_pages": { "description": "Number of proofs for one-page result", "placeholders": { @@ -1782,7 +1866,7 @@ } } }, - "prices_users_list_length_many_pages": "Top {pageSize} contributors (total: {total})", + "prices_users_list_length_many_pages": "Parhaat {pageSize} avustajat (yhteensä: {total})", "@prices_users_list_length_many_pages": { "description": "Number of users for one-page result", "placeholders": { @@ -1794,27 +1878,27 @@ } } }, - "prices_amount_subtitle": "Amount", - "prices_amount_is_discounted": "Is discounted?", + "prices_amount_subtitle": "Määrä", + "prices_amount_is_discounted": "Onko alennettu?", "prices_amount_price_normal": "Hinta", "prices_amount_price_discounted": "Alennettu hinta", - "prices_amount_price_not_discounted": "Original price", - "prices_amount_no_product": "One product is missing!", - "prices_amount_price_incorrect": "Incorrect value", - "prices_amount_price_mandatory": "Mandatory value", + "prices_amount_price_not_discounted": "Alkuperäinen hinta", + "prices_amount_no_product": "Yksi tuote puuttuu!", + "prices_amount_price_incorrect": "Virheellinen arvo", + "prices_amount_price_mandatory": "Pakollinen arvo", "prices_currency_subtitle": "Valuutta", "prices_date_subtitle": "Päivämäärä", - "prices_location_subtitle": "Shop", - "prices_location_find": "Find a shop", - "prices_location_mandatory": "You need to select a shop!", + "prices_location_subtitle": "Myymälä", + "prices_location_find": "Etsi kauppa", + "prices_location_mandatory": "Sinun on valittava kauppa!", "prices_proof_subtitle": "Todiste", - "prices_proof_find": "Select a proof", + "prices_proof_find": "Valitse todiste", "prices_proof_receipt": "Kuitti", "prices_proof_price_tag": "Hintalappu", - "prices_proof_mandatory": "You need to select a proof!", - "prices_add_validation_error": "Validation error", - "prices_privacy_warning_title": "Privacy warning", - "prices_privacy_warning_message": "Prices will be public, along with the store they refer to.\nThat might allow people who know about your Open Food Facts pseudonym to:\n* infer in which area you live\n* know what you are buying\nIf you are uneasy with that, please change your pseudonym, or create a new Open Food Facts account and log into the app with it.", + "prices_proof_mandatory": "Sinun on valittava todiste!", + "prices_add_validation_error": "Tarkistusvirhe", + "prices_privacy_warning_title": "Tietosuojavaroitus", + "prices_privacy_warning_message": "Hinnat ovat julkisia yhdessä kaupan kanssa, johon ne viittaavat.\nSe saattaa antaa ihmisille, jotka tietävät Open Food Facts -pseudonyymistäsi, mahdollisuuden:\n* päätellä, missä asut\n* tietää mitä ostat\nJos et ole tyytyväinen siihen, vaihda pseudonyymisi tai luo uusi Open Food Facts -tili ja kirjaudu sovellukseen sillä.", "prices_unknown_product": "Tuntematon tuote", "@prices_unknown_product": { "description": "Very small text, in the context of prices, to say that the product is unknown" @@ -1823,20 +1907,21 @@ "@dev_preferences_import_history_result_success": { "description": "User dev preferences - Import history - Result successful" }, - "dev_mode_section_server": "Server configuration", - "dev_mode_section_product_page": "Product page", - "dev_mode_section_ui": "User Interface", + "dev_mode_section_server": "Palvelimen asetukset", + "dev_mode_section_news": "Uutispalveluntarjoajan määritykset", + "dev_mode_section_product_page": "Tuotesivu", + "dev_mode_section_ui": "Käyttöliittymä", "dev_mode_section_data": "Tiedot", - "dev_mode_section_experimental_features": "Experimental features", + "dev_mode_section_experimental_features": "Kokeelliset ominaisuudet", "dev_mode_hide_ecoscore_title": "Jätä ympäristöystävällisyyspisteytys huomiotta", "@dev_mode_hide_ecoscore_title": { "description": "User dev preferences - Disable Ecoscore - Title" }, - "dev_mode_spellchecker_for_ocr_title": "Use a spellchecker for OCR screens", + "dev_mode_spellchecker_for_ocr_title": "Käytä OCR-näytöissä oikeinkirjoituksen tarkistusta", "@dev_mode_spellchecker_for_ocr_title": { "description": "User dev preferences - Enable Spellchecker on OCR screens - Title" }, - "dev_mode_spellchecker_for_ocr_subtitle": "(Ingredients and packaging)", + "dev_mode_spellchecker_for_ocr_subtitle": "(Ainesosat ja pakkaus)", "@dev_mode_spellchecker_for_ocr_subtitle": { "description": "User dev preferences - Enable Spellchecker on OCR screens - Subtitle" }, @@ -1899,27 +1984,27 @@ "@user_search_proofs_title": { "description": "User proofs: list tile title" }, - "user_search_proof_title": "My proof", + "user_search_proof_title": "Minun todisteeni", "@user_search_proof_title": { "description": "User proof: page title" }, - "user_any_search_prices_title": "Contributor prices", + "user_any_search_prices_title": "Osallistujien hinnat", "@user_any_search_prices_title": { "description": "User prices (everybody except me): list tile title" }, - "all_search_prices_latest_title": "Latest Prices added", + "all_search_prices_latest_title": "Viimeisimmät hinnat lisätty", "@all_search_prices_latest_title": { "description": "Latest prices: list tile title" }, - "all_search_prices_top_user_title": "Top price contributors", + "all_search_prices_top_user_title": "Hintojen huippuavustajat", "@all_search_prices_top_user_title": { "description": "Top price users: list tile title" }, - "all_search_prices_top_location_title": "Stores with the most prices", + "all_search_prices_top_location_title": "Kaupat, joilla on eniten hintoja", "@all_search_prices_top_location_title": { "description": "Top price locations: list tile title" }, - "all_search_prices_top_product_title": "Products with the most prices", + "all_search_prices_top_product_title": "Tuotteet, joilla on eniten hintoja", "@all_search_prices_top_product_title": { "description": "Top price products: list tile title" }, @@ -2179,7 +2264,11 @@ }, "capture": "Ota uusi", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ota kuva", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Valitse kuvagalleriasta", "@choose_from_gallery": { @@ -2189,7 +2278,7 @@ "@image_upload_queued": { "description": "Message when a photo is queued for upload" }, - "add_price_queued": "The price will be sent to the server as soon as possible.", + "add_price_queued": "Hinta lähetetään palvelimelle mahdollisimman pian.", "@add_price_queued": { "description": "Message when an added price is queued for the server" }, @@ -2737,7 +2826,7 @@ "nutriscore_c": "Nutri-Score C", "nutriscore_d": "Nutri-Score D", "nutriscore_e": "Nutri-Score E", - "nutriscore_new_formula": "Nutri-Score {letter} (New calculation)", + "nutriscore_new_formula": "Nutri-Score {letter} (Uusi laskukaava)", "@nutriscore_new_formula": { "description": "A generic string to define a Nutri-Score V2 with a letter [eg: \"Nutri-Score A (New calculation)\"]", "placeholders": { @@ -2746,11 +2835,11 @@ } } }, - "nutriscore_new_formula_title": "Nutri-Score (New calculation)", + "nutriscore_new_formula_title": "Nutri-Score (Uusi laskukaava)", "nutriscore_unknown": "Tuntematon Nutri-Score", - "nutriscore_unknown_new_formula": "Unknown Nutri-Score (New calculation)", + "nutriscore_unknown_new_formula": "Tuntematon Nutri-Score (Uusi laskukaava)", "nutriscore_not_applicable": "Nutri-Score ei sovellu", - "nutriscore_not_applicable_new_formula": "Nutri-Score is not applicable (New calculation)", + "nutriscore_not_applicable_new_formula": "Nutri-Score ei ole sovellettavissa (Uusi laskukaava)", "ecoscore_generic": "Eco-Score", "ecoscore_a": "Eco-Score A", "ecoscore_b": "Eco-Score B", @@ -2771,7 +2860,7 @@ "faq_title_install_beauty": "Luo kosmeettinen tietokanta asentamalla Open Beauty Facts", "faq_title_install_pet": "Luo lemmikkieläinten ruokatietokanta asentamalla Open Pet Food Facts", "faq_title_install_product": "Asenna Open Products Facts luodaksesi tuotetietokannan objektien käyttöiän pidentämiseksi", - "faq_nutriscore_nutriscore": "New calculation of the Nutri-Score: what's new?", + "faq_nutriscore_nutriscore": "Uusi Nutri-Score-laskukaava: mitä uutta?", "contact_title_pro_page": "Pro? Tuo tuotteesi Open Food Factsiin", "contact_title_pro_email": "Tuottajan yhteystiedot", "contact_title_press_page": "Lehdistösivu", @@ -2789,7 +2878,7 @@ "@link_cant_be_opened": { "description": "An error may happen if the device doesn't have a browser installed." }, - "knowledge_panel_page_title_no_title": "Details for {productName}", + "knowledge_panel_page_title_no_title": "Yksityiskohdat tuotteelle {productName}", "@knowledge_panel_page_title_no_title": { "description": "The title of the page when we click on an item in the product page and this page is unnamed", "placeholders": { @@ -2798,7 +2887,7 @@ } } }, - "knowledge_panel_page_title": "Details for {pageName} with {productName}", + "knowledge_panel_page_title": "Tiedot {pageName} ja {productName}", "@knowledge_panel_page_title": { "description": "The title of the page when we click on an item in the product page", "placeholders": { @@ -2810,7 +2899,7 @@ } } }, - "guide_title": "Guide", + "guide_title": "Opas", "@guide_title": { "description": "A title for a guide" }, @@ -2819,7 +2908,7 @@ "@guide_nutriscore_v2_enabled": { "description": "Please NEVER touch this value and let the OFF team change it!" }, - "guide_nutriscore_v2_title": "The Nutri-Score is evolving: explanations!", + "guide_nutriscore_v2_title": "Nutri-Score kehittyy: selityksiä!", "@guide_nutriscore_v2_title": { "description": "The title of the guide (please don't forget the use of non-breaking spaces)" }, @@ -2828,44 +2917,48 @@ "description": "The logo is only available in de/en/fr/ln/nl. Please use en if not available (in lowercase, please)." }, "guide_nutriscore_v2_what_is_nutriscore_title": "Mikä on Nutri-Score?", - "guide_nutriscore_v2_what_is_nutriscore_paragraph1": "The Nutri-Score is a logo which aims to inform you about the **nutritional quality of foods**.", + "guide_nutriscore_v2_what_is_nutriscore_paragraph1": "Nutri-Score on logo, jonka tarkoituksena on kertoa sinulle **ruokien ravintoarvosta**.", "@guide_nutriscore_v2_what_is_nutriscore_paragraph1": { "description": "Text between asterisks (eg: **My Text**) means text in bold. Please try to keep it." }, - "guide_nutriscore_v2_what_is_nutriscore_paragraph2": "The color code varies from dark green (**A**) for the **healthiest** products to dark red (**E**) for the **less healthy** ones.", + "guide_nutriscore_v2_what_is_nutriscore_paragraph2": "Värikoodi vaihtelee tummanvihreästä (**A**) **terveellisimmille** tuotteille tummanpunaiseen (**E**) **vähemmän terveellisille** tuotteille.", "@guide_nutriscore_v2_what_is_nutriscore_paragraph2": { "description": "Text between asterisks (eg: **My Text**) means text in bold. Please try to keep it." }, - "guide_nutriscore_v2_nutriscore_a_caption": "The Nutri-Score A logo", - "guide_nutriscore_v2_why_v2_title": "Why is Nutri-Score evolving?", - "guide_nutriscore_v2_why_v2_intro": "The Nutri-Score formula **is evolving** to provide better recommendations:", - "guide_nutriscore_v2_why_v2_arg1_title": "Better evaluate all drinks", - "guide_nutriscore_v2_why_v2_arg1_text": "The comparative notes of **milk**, **dairy drinks** with added sugar and **vegetable** drinks were better differentiated in the new algorithm.", - "guide_nutriscore_v2_why_v2_arg2_title": "Better ranking of drinks", - "guide_nutriscore_v2_why_v2_arg2_text": "The **sugar content** is better taken into account and favors **lowly sweetened** drinks.\\n**Sweeteners will also be penalized**: diet sodas will be downgraded from a B rating to between C and E. Water remains the recommended drink.", - "guide_nutriscore_v2_why_v2_arg3_title": "Salt and sugar penalized", - "guide_nutriscore_v2_why_v2_arg3_text": "Products **too sweet** or **too salty** will see their **rating further downgraded**.", - "guide_nutriscore_v2_why_v2_arg4_title": "Hierarchy within oils and fishes", - "guide_nutriscore_v2_why_v2_arg4_text": "The rating of certain **fatty fish** and **oils rich in good fats** will improve.", - "guide_nutriscore_v2_why_v2_arg5_title": "Limit red meat", - "guide_nutriscore_v2_why_v2_arg5_text": "Consumption of **red meat should be limited**. This is why **poultry will be comparatively better ranked**.", - "guide_nutriscore_v2_new_logo_title": "How to differentiate old Nutri-Score and new calculation?", - "guide_nutriscore_v2_new_logo_text": "From now on, the logo can display a mention \"**New calculation**\" to clarify that this is indeed the new calculation.", - "guide_nutriscore_v2_new_logo_image_caption": "The logo of the new Nutri-Score", - "guide_nutriscore_v2_where_title": "Where to find the new Nutri-Score calculation?", - "guide_nutriscore_v2_where_paragraph1": "The Nutri-Score is applied in several countries: Germany, Belgium, Spain, France, Luxembourg, the Netherlands and Switzerland.", - "guide_nutriscore_v2_where_paragraph2": "Manufacturers have until **2026** at the latest **to replace** the old calculation with the new one.", - "guide_nutriscore_v2_where_paragraph3": "Without waiting, you **will already find in the OpenFoodFacts application**, the new calculation, including if the manufacturers have not updated the score.", - "guide_nutriscore_v2_unchanged_title": "What doesn't change", - "guide_nutriscore_v2_unchanged_paragraph1": "The Nutri-Score is a score designed to **measure nutritional quality**. It is **complementary to the NOVA group** on **ultra-processed foods** (also present in the application).", - "guide_nutriscore_v2_unchanged_paragraph2": "For manufacturers, the display of the Nutri-Score **remains optional**.", - "guide_nutriscore_v2_share_link": "https://world.openfoodfacts.org/nutriscore-v2", + "guide_nutriscore_v2_nutriscore_a_caption": "Nutri-Score A -logo", + "guide_nutriscore_v2_why_v2_title": "Miksi Nutri-Score kehittyy?", + "guide_nutriscore_v2_why_v2_intro": "Nutri-Score-kaava **kehitetään** tarjotakseen parempia suosituksia:", + "guide_nutriscore_v2_why_v2_arg1_title": "Paranna kaikkien juomien arviointia", + "guide_nutriscore_v2_why_v2_arg1_text": "Uuden algoritmin mukaan **maito**, **sokerilla maustetut maitojuomat** ja **kasvijuomat** eroteltiin paremmin vertailevissa muistiinpanoissa.", + "guide_nutriscore_v2_why_v2_arg2_title": "Parempi juomien sijoitus", + "guide_nutriscore_v2_why_v2_arg2_text": "**Sokeripitoisuus** otetaan paremmin huomioon ja suosii **vähän makeutettuja** juomia.\\n**Makeutusaineista myös rangaistaan**: dieettivirvoitusjuomat alennetaan B-luokituksen tasosta C:n ja E:n välille. Vesi on edelleen suositeltu juoma.", + "guide_nutriscore_v2_why_v2_arg3_title": "Suolasta ja sokerista rangaistaan", + "guide_nutriscore_v2_why_v2_arg3_text": "Tuotteiden, jotka ovat **liian makeita** tai **liian suolaisia**, **luokitusta alennetaan edelleen**.", + "guide_nutriscore_v2_why_v2_arg4_title": "Hierarkia öljyjen ja kalojen välillä", + "guide_nutriscore_v2_why_v2_arg4_text": "Tiettyjen **rasvaisten kalojen** ja **hyviä rasvoja sisältävien öljyjen** luokitus paranee.", + "guide_nutriscore_v2_why_v2_arg5_title": "Rajoita punaista lihaa", + "guide_nutriscore_v2_why_v2_arg5_text": "**Punaisen lihan kulutusta tulisi rajoittaa**. Tämä on syy siihen, miksi **siipikarja sijoittuu suhteellisesti paremmin**.", + "guide_nutriscore_v2_new_logo_title": "Kuinka erottaa vanha Nutri-Score ja uusi laskelma?", + "guide_nutriscore_v2_new_logo_text": "Tästä eteenpäin logossa voi näkyä maininta \"**Uusi laskelma**\" selventääkseen, että kyseessä on todellakin uusi laskelma.", + "guide_nutriscore_v2_new_logo_image_caption": "Uuden Nutri-Scoren logo", + "guide_nutriscore_v2_where_title": "Mistä löydät uuden Nutri-Score-laskelman?", + "guide_nutriscore_v2_where_paragraph1": "Nutri-Scorea sovelletaan useissa maissa: Saksassa, Belgiassa, Espanjassa, Ranskassa, Luxemburgissa, Alankomaissa ja Sveitsissä.", + "guide_nutriscore_v2_where_paragraph2": "Valmistajilla on viimeistään **2026** asti **korvattava** vanha laskelma uudella.", + "guide_nutriscore_v2_where_paragraph3": "Odotamatta **löydät jo OpenFoodFacts-sovelluksesta** uuden laskelman, myös jos valmistajat eivät ole päivittäneet arvosanaa.", + "guide_nutriscore_v2_unchanged_title": "Mikä ei muutu", + "guide_nutriscore_v2_unchanged_paragraph1": "Nutri-Score on pistemäärä, joka on suunniteltu **mittaamaan ravintoarvoa**. Se **täydentää NOVA-ryhmää** **ultrajalostetuissa elintarvikkeissa** (sisältyy myös hakemukseen).", + "guide_nutriscore_v2_unchanged_paragraph2": "Valmistajille Nutri-Score-näyttö **pysyy valinnaisena**.", + "guide_nutriscore_v2_share_link": "https://world-fi.openfoodfacts.org/nutriscore-v2", "guide_nutriscore_v2_share_message": "", "@guide_nutriscore_v2_share_message": { "description": "Please let empty for now (maybe use in the future)" }, - "preview_badge": "Preview", + "preview_badge": "Esikatselu", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Napsauta tätä lähettääksesi meille palautetta tästä uudesta ominaisuudesta!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_fo.arb b/packages/smooth_app/lib/l10n/app_fo.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_fo.arb +++ b/packages/smooth_app/lib/l10n/app_fo.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_fr.arb b/packages/smooth_app/lib/l10n/app_fr.arb index 4e9ae8dd5b9..fd68a1ba3b5 100644 --- a/packages/smooth_app/lib/l10n/app_fr.arb +++ b/packages/smooth_app/lib/l10n/app_fr.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ok", "@okay": {}, + "validate": "Valider", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Créer", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choisissez des aliments bons pour vous et pour la planète.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Consultez les données alimentaires selon vos préférences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1235,7 +1235,7 @@ "@camera_play_sound_subtitle": { "description": "SubTitle for the Camera play sound toggle" }, - "camera_window_accessibility_label": "Scan a barcode with your camera", + "camera_window_accessibility_label": "Scannez un code-barres avec votre appareil photo", "@camera_window_accessibility_label": { "description": "Accessibility label for the camera window" }, @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Pourquoi est-ce que je vois ce message ?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "Pour utiliser la fonction \"Extraire les ingrédients\", la photo doit d'abord être téléversée.\n\nVeuillez patienter quelques secondes ou saisissez-les manuellement.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Mettre à jour la photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Pourquoi est-ce que je vois ce message ?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "Pour utiliser la fonction \"Extraire l'emballage\", la photo doit d'abord être téléversée.\n\nVeuillez patienter quelques secondes ou saisissez-les manuellement.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Mettre à jour la photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "URL personnalisée pour les actualités", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL du fichier JSON :", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Non défini", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "État ", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Dernière actualisation: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Raccourci vers l'application Prix sur la page produit", "prices_app_button": "Accéder à l'application Prix", "prices_generic_title": "Prix", @@ -1725,10 +1766,10 @@ "prices_add_a_price": "Ajouter un prix", "prices_add_a_receipt": "Ajouter un ticket de caisse", "prices_add_price_tags": "Ajouter des étiquettes de prix", - "prices_barcode_search_not_found": "Produit non trouvé", + "prices_barcode_search_not_found": "Produit introuvable", "prices_barcode_search_none_yet": "Pas encore de produit", "prices_barcode_search_question": "Voulez-vous chercher ce produit ?", - "prices_barcode_search_title": "Recherche de produit", + "prices_barcode_search_title": "Recherche de produits", "prices_barcode_search_running": "À la recherche de {barcode}", "@prices_barcode_search_running": { "description": "Dialog title about barcode look-up", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Lecteur de code-barres", "prices_view_prices": "Voir les prix", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{Aucun prix} =1{Un seul prix} other{Tous les {count} prix}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{Aucune preuve} =1{Une seule preuve} other{Toutes les {count} preuves}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Configuration du serveur", + "dev_mode_section_news": "Configuration du fournisseur d'actualités", "dev_mode_section_product_page": "Page produit", "dev_mode_section_ui": "Interface utilisateur", "dev_mode_section_data": "Données", @@ -2179,7 +2264,11 @@ }, "capture": "En prendre une autre", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Prendre une photo", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choisir depuis la galerie", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Aperçu", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Cliquez ici pour nous envoyer vos commentaires sur cette nouvelle fonctionnalité !", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ga.arb b/packages/smooth_app/lib/l10n/app_ga.arb index 326ba962b9a..8cac9a8ee7b 100644 --- a/packages/smooth_app/lib/l10n/app_ga.arb +++ b/packages/smooth_app/lib/l10n/app_ga.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Tóg pictiúr", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_gd.arb b/packages/smooth_app/lib/l10n/app_gd.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_gd.arb +++ b/packages/smooth_app/lib/l10n/app_gd.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_gl.arb b/packages/smooth_app/lib/l10n/app_gl.arb index 820ec0df6e8..73cc92d4316 100644 --- a/packages/smooth_app/lib/l10n/app_gl.arb +++ b/packages/smooth_app/lib/l10n/app_gl.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validar", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Datos", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Tirar unha foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_gu.arb b/packages/smooth_app/lib/l10n/app_gu.arb index 1ab5d8c7a32..c65f339b13a 100644 --- a/packages/smooth_app/lib/l10n/app_gu.arb +++ b/packages/smooth_app/lib/l10n/app_gu.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "માહિતી", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "ફોટો પાડો", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ha.arb b/packages/smooth_app/lib/l10n/app_ha.arb index 26d87af487c..01aafcb2737 100644 --- a/packages/smooth_app/lib/l10n/app_ha.arb +++ b/packages/smooth_app/lib/l10n/app_ha.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_he.arb b/packages/smooth_app/lib/l10n/app_he.arb index c4ea97f5154..68b6239d5e8 100644 --- a/packages/smooth_app/lib/l10n/app_he.arb +++ b/packages/smooth_app/lib/l10n/app_he.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "בסדר", "@okay": {}, + "validate": "אימות", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "יצירה", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "בחירה במזון שטוב לך ולכדור הארץ.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "הצגת נתוני המזון שתואמים להעדפות שלך.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -781,7 +781,7 @@ "@homepage_main_card_search_field_tooltip": { "description": "Description for accessibility of the search field on the homepage" }, - "scan_tagline_news_item_accessibility": "Latest news: {news_title}", + "scan_tagline_news_item_accessibility": "חדשות עדכניות: {news_title}", "@scan_tagline_news_item_accessibility": { "description": "Accessibility label for the title of a news", "placeholders": { @@ -1119,8 +1119,8 @@ } } }, - "onboarding_home_welcome_text1": "Welcome !", - "onboarding_home_welcome_text2": "The app that helps you choose food that is good for **you** and the **planet**!", + "onboarding_home_welcome_text1": "ברוך בואך!", + "onboarding_home_welcome_text2": "היישומון שמסייע לך לבחור מזון שטוב **לך** ול**כדור הארץ**!", "@onboarding_home_welcome_text2": { "description": "Onboarding home screen welcome text, text surrounded by * will be bold" }, @@ -1235,7 +1235,7 @@ "@camera_play_sound_subtitle": { "description": "SubTitle for the Camera play sound toggle" }, - "camera_window_accessibility_label": "Scan a barcode with your camera", + "camera_window_accessibility_label": "סריקת ברקוד עם המצלמה שלך", "@camera_window_accessibility_label": { "description": "Accessibility label for the camera window" }, @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "למה ההודעה הזאת מופיעה?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "כדי להשתמש ביכולת „חילוץ רכיבים”, קודם יש להעלות את התמונה. \n\nנא להמתין מספר שניות או למלא אותם ידנית.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "רענון תמונה", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "למה ההודעה הזאת מופיעה?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "כדי להשתמש ביכולת „חילוץ אריזה”, קודם יש להעלות את התמונה. \n\nנא להמתין מספר שניות או למלא אותם ידנית.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "רענון תמונה", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,20 +1732,45 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "כתובת מותאמת לחדשות", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "כתובת קובץ JSON:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "לא הוגדרה", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "מצב", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "רענון אחרון: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "קיצור דרך ליישומון מחירים בעמוד המוצר", "prices_app_button": "מעבר ליישומון המחירים", "prices_generic_title": "מחירים", - "prices_add_n_prices": "{count,plural, =1{Add a price} other{App {count} prices}}", - "prices_send_n_prices": "{count,plural, =1{Send the price} other{Send {count} prices}}", - "prices_add_an_item": "Add an item", + "prices_add_n_prices": "{count,plural, one {} two {הוספת {count} מחירים} many {הוספת {count} מחירים}=1{הוספת מחיר{count}} other{הוספת {count} מחירים}}", + "prices_send_n_prices": "{count,plural, one {} two {שליחת {count} מחירים} many {שליחת {count} מחירים}=1{שליחת מחיר {count}} other{שליחת {count} מחירים}}", + "prices_add_an_item": "הוספת פריט", "prices_add_a_price": "הוספת מחיר", - "prices_add_a_receipt": "Add a receipt", - "prices_add_price_tags": "Add price tags", + "prices_add_a_receipt": "הוספת קבלה", + "prices_add_price_tags": "הוספת תגי מחיר", "prices_barcode_search_not_found": "המוצר לא נמצא", - "prices_barcode_search_none_yet": "No product yet", - "prices_barcode_search_question": "Do you want to look for this product?", + "prices_barcode_search_none_yet": "אין מוצרים עדיין", + "prices_barcode_search_question": "לחפש את המוצר הזה?", "prices_barcode_search_title": "חיפוש מוצרים", - "prices_barcode_search_running": "Looking for {barcode}", + "prices_barcode_search_running": "מתבצע איתור אחר {barcode}", "@prices_barcode_search_running": { "description": "Dialog title about barcode look-up", "placeholders": { @@ -1738,9 +1779,21 @@ } } }, - "prices_barcode_reader_action": "Barcode reader", - "prices_view_prices": "View the prices", - "prices_list_length_one_page": "{count,plural, two {כל {count} המחירים} many {כל {count} המחירים}=0{אין מחיר עדיין} =1{מחיר אחד בלבד} other{כל {count} המחירים}}", + "prices_barcode_reader_action": "קורא ברקודים", + "prices_view_prices": "הצגת המחירים", + "prices_product_accessibility_summary": "{count,plural, one {} two {{count} מחירים} many {{count} מחירים}=1{מחיר {count}} other{{count} מחירים}} ל{product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, + "prices_list_length_one_page": "{count,plural, two {כל {count} המחירים} many {כל {count} המחירים}=0{אין מחיר עדיין} =1{מחיר {count} בלבד} other{כל {count} המחירים}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", "placeholders": { @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "מחיר: {price} / חנות: „{location}” / פורסם ב־{date} על ידי „{user}”", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "הוכחות פתוחות של „{user}”", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "הוכחת מחיר פתוח", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1799,7 +1883,7 @@ "prices_amount_price_normal": "מחיר", "prices_amount_price_discounted": "מחיר מוזל", "prices_amount_price_not_discounted": "מחיר מקורי", - "prices_amount_no_product": "One product is missing!", + "prices_amount_no_product": "מוצר אחד חסר!", "prices_amount_price_incorrect": "ערך שגוי", "prices_amount_price_mandatory": "ערך חובה", "prices_currency_subtitle": "מטבע", @@ -1823,20 +1907,21 @@ "@dev_preferences_import_history_result_success": { "description": "User dev preferences - Import history - Result successful" }, - "dev_mode_section_server": "Server configuration", - "dev_mode_section_product_page": "Product page", - "dev_mode_section_ui": "User Interface", + "dev_mode_section_server": "הגדרות שרת", + "dev_mode_section_news": "הגדרות ספק חדשות", + "dev_mode_section_product_page": "עמוד מוצר", + "dev_mode_section_ui": "מנשק משתמש", "dev_mode_section_data": "נתונים", - "dev_mode_section_experimental_features": "Experimental features", + "dev_mode_section_experimental_features": "יכולות ניסיוניות", "dev_mode_hide_ecoscore_title": "להחריג Eco-Score", "@dev_mode_hide_ecoscore_title": { "description": "User dev preferences - Disable Ecoscore - Title" }, - "dev_mode_spellchecker_for_ocr_title": "Use a spellchecker for OCR screens", + "dev_mode_spellchecker_for_ocr_title": "להשתמש בבודק איות למסכי סריקה אופטית", "@dev_mode_spellchecker_for_ocr_title": { "description": "User dev preferences - Enable Spellchecker on OCR screens - Title" }, - "dev_mode_spellchecker_for_ocr_subtitle": "(Ingredients and packaging)", + "dev_mode_spellchecker_for_ocr_subtitle": "(רכיבים ואריזה)", "@dev_mode_spellchecker_for_ocr_subtitle": { "description": "User dev preferences - Enable Spellchecker on OCR screens - Subtitle" }, @@ -2096,7 +2181,7 @@ "@product_list_select": { "description": "Top title for the selection of a list" }, - "user_list_length": "{count,plural, two {שני מוצרים} many {{count} מוצרים} =0{רשימה ריקה} =1{מוצר אחד} other{{count} מוצרים}}", + "user_list_length": "{count,plural, two {{count} מוצרים} many {{count} מוצרים} =0{רשימה ריקה} =1{מוצר {count}} other{{count} מוצרים}}", "@user_list_length": { "description": "Length of a user product list", "placeholders": { @@ -2179,7 +2264,11 @@ }, "capture": "לצלם חדשה", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "צילום תמונה", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "בחירה מהגלריה", "@choose_from_gallery": { @@ -2387,7 +2476,7 @@ "@robotoff_continue": { "description": "Shown when robotoff question are all answered and user wants to continue answering" }, - "robotoff_next_n_questions": "{count,plural, two {{count} השאלות הבאות} many {{count} השאלות הבאות}=1{השאלה הבאה} other{{count} השאלות הבאות}}", + "robotoff_next_n_questions": "{count,plural, two {{count} השאלות הבאות} many {{count} השאלות הבאות}=1{שאלה {count} הבאה} other{{count} השאלות הבאות}}", "@robotoff_next_n_questions": { "description": "Shown when robotoff question are all answered and user wants to continue answering", "placeholders": { @@ -2771,7 +2860,7 @@ "faq_title_install_beauty": "אפשר להתקין את Open Beauty Facts כדי ליצור מסד נתונים קוסמטי", "faq_title_install_pet": "אפשר להתקין את Open Pet Food Facts כדי ליצור מסד נתוני מזון לחיות מחמד", "faq_title_install_product": "אפשר להתקין את Open Products Facts כדי ליצור מסד נתונים של מוצרים להארכת חיי הפריטים", - "faq_nutriscore_nutriscore": "New calculation of the Nutri-Score: what's new?", + "faq_nutriscore_nutriscore": "נוסחה חדשה ל־Nutri-Score: מה השתנה?", "contact_title_pro_page": "יצרנים? אפשר לייבא את המוצרים שלכם ל־Open Food Facts", "contact_title_pro_email": "איש קשר ליצרנים", "contact_title_press_page": "עמוד לעיתונאים", @@ -2864,8 +2953,12 @@ "@guide_nutriscore_v2_share_message": { "description": "Please let empty for now (maybe use in the future)" }, - "preview_badge": "Preview", + "preview_badge": "תצוגה מקדימה", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "נא ללחוץ כאן כדי לשלוח לנו משוב על היכולת החדשה הזאת!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_hi.arb b/packages/smooth_app/lib/l10n/app_hi.arb index a1f35fb3f93..401690871ab 100644 --- a/packages/smooth_app/lib/l10n/app_hi.arb +++ b/packages/smooth_app/lib/l10n/app_hi.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "जानकारी", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "एक तस्वीर ले लो", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_hr.arb b/packages/smooth_app/lib/l10n/app_hr.arb index 0c4bb37ef9e..6be887be2b1 100644 --- a/packages/smooth_app/lib/l10n/app_hr.arb +++ b/packages/smooth_app/lib/l10n/app_hr.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Dobro", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Podaci", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Uslikaj", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ht.arb b/packages/smooth_app/lib/l10n/app_ht.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_ht.arb +++ b/packages/smooth_app/lib/l10n/app_ht.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_hu.arb b/packages/smooth_app/lib/l10n/app_hu.arb index 9854b5b93cb..89b00fb9051 100644 --- a/packages/smooth_app/lib/l10n/app_hu.arb +++ b/packages/smooth_app/lib/l10n/app_hu.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Rendben", "@okay": {}, + "validate": "Érvényesítés", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Létrehoz", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Válassz olyan ételt, amely jó neked és a bolygónak.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Tekintse meg az Ön preferenciáinak megfelelő élelmiszeradatokat.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Állapot", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Adatok", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Készítsen képet", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_hy.arb b/packages/smooth_app/lib/l10n/app_hy.arb index d7770356fdc..9efc26f25eb 100644 --- a/packages/smooth_app/lib/l10n/app_hy.arb +++ b/packages/smooth_app/lib/l10n/app_hy.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_id.arb b/packages/smooth_app/lib/l10n/app_id.arb index 96d58d02f4d..e31b84f64aa 100644 --- a/packages/smooth_app/lib/l10n/app_id.arb +++ b/packages/smooth_app/lib/l10n/app_id.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Baik", "@okay": {}, + "validate": "Validasikan", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Buat", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Pilih makanan yang baik untuk Anda dan untuk planet ini.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Lihat data makanan yang cocok dengan preferensi Anda.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Muat ulang foto", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Muat ulang foto", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Pintasan ke aplikasi Harga di halaman produk", "prices_app_button": "Buka aplikasi Harga", "prices_generic_title": "Harga", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "Lihat harga", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{Belum ada harga} =1{Hanya satu harga} other{Semua {count} harga}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Foto Baru", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ambil gambar", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Pilih dari galeri", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ii.arb b/packages/smooth_app/lib/l10n/app_ii.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_ii.arb +++ b/packages/smooth_app/lib/l10n/app_ii.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_is.arb b/packages/smooth_app/lib/l10n/app_is.arb index 9fe368ece44..79690d031e7 100644 --- a/packages/smooth_app/lib/l10n/app_is.arb +++ b/packages/smooth_app/lib/l10n/app_is.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_it.arb b/packages/smooth_app/lib/l10n/app_it.arb index 2492bb195b3..3f90393f1af 100644 --- a/packages/smooth_app/lib/l10n/app_it.arb +++ b/packages/smooth_app/lib/l10n/app_it.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ok", "@okay": {}, + "validate": "Convalida", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Crea", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Scegli gli alimenti che fanno bene a te e al pianeta.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Visualizza i dati alimentari rilevanti alle tue preferenze.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -244,7 +244,7 @@ }, "sign_up_page_password_hint": "Password", "sign_up_page_password_error_empty": "Inserire una password", - "sign_up_page_password_error_invalid": "Sei pregato di inserire una password valida (almeno 6 caratteri)", + "sign_up_page_password_error_invalid": "Per favore inserisci una password valida (almeno 6 caratteri)", "sign_up_page_confirm_password_hint": "Ripeti la password", "sign_up_page_confirm_password_error_empty": "Ripeti la password", "sign_up_page_confirm_password_error_invalid": "Le password non corrispondono", @@ -270,7 +270,7 @@ }, "sign_up_page_producer_checkbox": "Sono un produttore di alimenti", "sign_up_page_producer_hint": "Produttore/marca", - "sign_up_page_producer_error_empty": "Sei pregato di inserire il nome di un produttore o marchio", + "sign_up_page_producer_error_empty": "Per favore inserisci il nome di un produttore o di una marca", "sign_up_page_subscribe_checkbox": "Vorrei iscrivermi alla newsletter di Open Food facts (Puoi disiscriverti in qualsiasi momento)", "sign_up_page_user_name_already_used": "Il nome utente esiste già, ti preghiamo di sceglierne un altro.", "sign_up_page_email_already_exists": "esiste già, accedi al profilo o prova con un'altra email.", @@ -398,7 +398,7 @@ "@tap_to_answer_hint": { "description": "Hint for accessibility readers to answer Robotoff questions." }, - "robotoff_questions_loading_hint": "Sei pregato di attendere durante il caricamento delle domande su questo prodotto", + "robotoff_questions_loading_hint": "Per favore attendi durante il caricamento delle domande su questo prodotto", "@robotoff_questions_loading_hint": { "description": "Hint for accessibility readers while Robotoff questions are loaded" }, @@ -781,7 +781,7 @@ "@homepage_main_card_search_field_tooltip": { "description": "Description for accessibility of the search field on the homepage" }, - "scan_tagline_news_item_accessibility": "Latest news: {news_title}", + "scan_tagline_news_item_accessibility": "Ultime notizie: {news_title}", "@scan_tagline_news_item_accessibility": { "description": "Accessibility label for the title of a news", "placeholders": { @@ -837,19 +837,19 @@ "@product_improvement_add_nutrition_facts_and_category": { "description": "Message for ProductImprovement.ADD_NUTRITION_FACTS_AND_CATEGORY" }, - "product_improvement_categories_but_no_nutriscore": "Il Nutri-Score per questo prodotto non è calcolabile, il che potrebbe dipendere da, es. una categoria non standard. Se ciò è considerato un errore, sei pregato di contattarci.", + "product_improvement_categories_but_no_nutriscore": "Il Nutri-Score per questo prodotto non può essere calcolato, il che potrebbe dipendere da ad es. una categoria non standard. Se consideri questo un errore, per favore contattaci.", "@product_improvement_categories_but_no_nutriscore": { "description": "Message for ProductImprovement.CATEGORIES_BUT_NO_NUTRISCORE" }, - "product_improvement_obsolete_nutrition_image": "L'immagine nutrizionale è obsoleta: sei pregato di aggiornarla.", + "product_improvement_obsolete_nutrition_image": "L'immagine nutrizionale è obsoleta: per favore aggiornala.", "@product_improvement_obsolete_nutrition_image": { "description": "Message for ProductImprovement.OBSOLETE_NUTRITION_IMAGE" }, - "product_improvement_origins_to_be_completed": "L'Eco-Score tiene in considerazione le origini degli ingredienti. Sei pregato di scattare una foto della lista di ingredienti e/o ogni rivendicazione geografica o modifica il prodotto, così che possa esser preso in considerazione.", + "product_improvement_origins_to_be_completed": "L'Eco-Score tiene in considerazione le origini degli ingredienti. Se puoi scatta una foto della lista degli ingredienti e/o di qualsiasi dichiarazione geografica o modifica il prodotto, in modo che possano essere presi in considerazione.", "@product_improvement_origins_to_be_completed": { "description": "Message for ProductImprovement.ORIGINS_TO_BE_COMPLETED" }, - "country_chooser_label": "Sei pregato di scegliere un paese", + "country_chooser_label": "Scegli un Paese", "@country_chooser_label": { "description": "Label shown above a selector where the user can select their country (in the preferences)" }, @@ -891,7 +891,7 @@ "@product_removed_comparison": { "description": "Product got removed from comparison list" }, - "native_app_settings": "Impostazioni dell'App Nativa", + "native_app_settings": "Impostazioni native dell'App", "@native_app_settings": { "description": "Native App Settings in app settings" }, @@ -1183,7 +1183,7 @@ "@user_profile": { "description": "User account (if connected)" }, - "user_profile_title_guest": "Benvenuto!", + "user_profile_title_guest": "Benvenuto/a!", "@user_profile_title_guest": { "description": "When the user is not connected" }, @@ -1235,11 +1235,11 @@ "@camera_play_sound_subtitle": { "description": "SubTitle for the Camera play sound toggle" }, - "camera_window_accessibility_label": "Scan a barcode with your camera", + "camera_window_accessibility_label": "Scansiona un codice a barre con la tua fotocamera", "@camera_window_accessibility_label": { "description": "Accessibility label for the camera window" }, - "app_haptic_feedback_title": "Vibrazione e Tatto", + "app_haptic_feedback_title": "Vibrazione e sensazioni tattili", "@app_haptic_feedback_title": { "description": "Title for the Haptic feedback toggle" }, @@ -1247,11 +1247,11 @@ "@app_haptic_feedback_subtitle": { "description": "SubTitle for the Haptic feedback toggle" }, - "crash_reporting_toggle_title": "Segnala crash", + "crash_reporting_toggle_title": "Segnalazione di arresti anomali", "@crash_reporting_toggle_title": { "description": "Title for the Crash reporting toggle" }, - "crash_reporting_toggle_subtitle": "Quando abilitati, i rapporti sugli arresti anomali sono inviati automaticamente al sistema di monitoraggio degli errori di Open Food Facts, così che i bug possano essere risolti e, dunque, che l'app possa essere migliorata.", + "crash_reporting_toggle_subtitle": "Quando abilitato, i rapporti sugli arresti anomali vengono inviati automaticamente al sistema di monitoraggio degli errori di Open Food Facts, così che i bug possano essere risolti e dunque che l'app possa essere migliorata.", "@crash_reporting_toggle_subtitle": { "description": "SubTitle for the Crash reporting toggle" }, @@ -1259,7 +1259,7 @@ "@send_anonymous_toggle_title": { "description": "Title for the Send anonymous data toggle" }, - "send_anonymous_data_toggle_subtitle": "Quando abilitate, alcune informazioni anonime relative all'utilizzo dell'app saranno inviate ai server di Open Food Facts, quindi, potremo comprendere come e quante funzionalità sono utilizzate, così da migliorarle.", + "send_anonymous_data_toggle_subtitle": "Quando abilitato, alcune informazioni anonime relative all'utilizzo dell'app saranno inviate ai server di Open Food Facts, in modo che possiamo comprendere come e quante funzionalità vengono utilizzate, così da migliorarle.", "@send_anonymous_toggle_subtitle": { "description": "SubTitle for the Send anonymous data toggle" }, @@ -1272,7 +1272,7 @@ "description": "When the camera/photo permission failed to be acquired (!= denied)" }, "permission_photo_denied_title": "Consenti l'uso della fotocamera per scansionare i codici a barre", - "permission_photo_denied_message": "Per un'esperienza migliore, sei pregato di consentire a {appName} di accedere alla tua fotocamera. Potrai scansionare direttamente i codici a barre.", + "permission_photo_denied_message": "Per un'esperienza migliore, consenti a {appName} di accedere alla tua fotocamera. Potrai scansionare direttamente i codici a barre.", "@permission_photo_denied_message": { "description": "When the camera/photo permission is denied by user", "placeholders": { @@ -1450,7 +1450,7 @@ "description": "Product edition - Ingredients - Title (note: this section was previously called Ingredients & Origins)" }, "edit_product_form_item_add_valid_item_tooltip": "Aggiungi", - "edit_product_form_item_add_invalid_item_tooltip": "Sei pregato di inserire prima un testo", + "edit_product_form_item_add_invalid_item_tooltip": "Per favore inserisci prima un testo", "edit_product_form_item_remove_item_tooltip": "Rimuovi", "edit_product_form_item_packaging_title": "Foto delle istruzioni di riciclaggio", "@edit_product_form_item_packaging_title": { @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Perché vedo questo messaggio?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "Per utilizzare la funzionalità \"Estrai ingredienti\", è necessario prima caricare la foto.\n\nAttendi qualche secondo o inseriscili manualmente.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Aggiorna foto", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Perché vedo questo messaggio?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Aggiorna foto", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1535,7 +1551,7 @@ "@user_list_button_new": { "description": "Short label of a 'create a new list' button" }, - "user_list_empty_label": "Ancora nessuna lista disponibile, ti preghiamo di iniziare a crearne una", + "user_list_empty_label": "Nessuna lista ancora disponibile, inizia creandone una", "@user_list_empty_label": { "description": "Content displayed when there is no list" }, @@ -1716,10 +1732,35 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "URL personalizzato per le notizie", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL del file JSON:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Non specificato", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Stato", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Ultimo aggiornamento: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Collegamento all'app Prezzi sulla pagina del prodotto", "prices_app_button": "Vai all'app Prezzi", "prices_generic_title": "Prezzi", - "prices_add_n_prices": "{count,plural, one {}=1{Aggiungi un prezzo} other{Aggiungi {count} prezzi}}", + "prices_add_n_prices": "{count,plural, =1{Aggiungi un prezzo} other{Aggiungi {count} prezzi}}", "prices_send_n_prices": "{count,plural, =1{Invia il prezzo} other{Invia {count} prezzi}}", "prices_add_an_item": "Aggiungi un elemento", "prices_add_a_price": "Aggiungi un prezzo", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Lettore del codice a barre", "prices_view_prices": "Guarda i prezzi", + "prices_product_accessibility_summary": "{count,plural, =1{1 prezzo} other{{count} prezzi}} per {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{Ancora nessun prezzo} =1{Solo un prezzo} other{Tutti e {count} i prezzi}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Prezzo: {price} / Negozio: \"{location}\" / Pubblicato il {date} da \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Apri le prove di \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Apri la prova del prezzo", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{Ancora nessuna prova} =1{Solo una prova} other{Tutte e {count} le prove}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Configurazione del server", + "dev_mode_section_news": "Configurazione del fornitore di notizie", "dev_mode_section_product_page": "Pagina del prodotto", "dev_mode_section_ui": "Interfaccia utente", "dev_mode_section_data": "Dati", @@ -1832,11 +1917,11 @@ "@dev_mode_hide_ecoscore_title": { "description": "User dev preferences - Disable Ecoscore - Title" }, - "dev_mode_spellchecker_for_ocr_title": "Use a spellchecker for OCR screens", + "dev_mode_spellchecker_for_ocr_title": "Usa un correttore ortografico per le schermate OCR", "@dev_mode_spellchecker_for_ocr_title": { "description": "User dev preferences - Enable Spellchecker on OCR screens - Title" }, - "dev_mode_spellchecker_for_ocr_subtitle": "(Ingredients and packaging)", + "dev_mode_spellchecker_for_ocr_subtitle": "(Ingredienti e confezione)", "@dev_mode_spellchecker_for_ocr_subtitle": { "description": "User dev preferences - Enable Spellchecker on OCR screens - Subtitle" }, @@ -2017,7 +2102,7 @@ "product_name": "Nome del prodotto", "add_basic_details_product_name_error": "Si prega di inserire il nome del prodotto", "brand_name": "Nome del marchio", - "add_basic_details_brand_name_error": "Sei pregato di inserire il nome del marchio", + "add_basic_details_brand_name_error": "Si prega d'inserire il nome della marca", "quantity": "Quantità e peso", "barcode": "Codice a Barre", "barcode_barcode": "Codice a barre: {barcode}", @@ -2177,9 +2262,13 @@ } } }, - "capture": "Cattura Nuovo", + "capture": "Scatta una nuova foto", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Scatta una foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Scegli dalla galleria", "@choose_from_gallery": { @@ -2503,7 +2592,7 @@ "@copy_email_to_clip_board": { "description": "Button: Copy the email adress to the clipboard. Shown when an automatic opening of an email application is not possible" }, - "please_send_us_an_email_to": "Sei pregato di inviarci manualmente un'email a", + "please_send_us_an_email_to": "Per favore inviaci manualmente un'e-mail a", "email_copied_to_clip_board": "Email copiata negli appunti!", "select_accent_color": "Seleziona il Colore Secondario", "@select_accent_color": { @@ -2612,7 +2701,7 @@ "@product_loader_network_error_title": { "description": "When fetching a product opened via a link and there is no connection" }, - "product_loader_network_error_message": "Sei pregato di verificare che il tuo smartphone sia connesso a una rete WiFi o ai dati mobili", + "product_loader_network_error_message": "Sei pregato di verificare che il tuo smartphone sia connesso a una rete WiFi o abbia i dati mobili abilitati", "@product_loader_network_error_message": { "description": "When fetching a product opened via a link and there is no connection" }, @@ -2867,5 +2956,9 @@ "preview_badge": "Anteprima", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Clicca qui per inviarci il tuo feedback su questa nuova funzionalità!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_iu.arb b/packages/smooth_app/lib/l10n/app_iu.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_iu.arb +++ b/packages/smooth_app/lib/l10n/app_iu.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ja.arb b/packages/smooth_app/lib/l10n/app_ja.arb index 1bfa02af466..47460e0c8ff 100644 --- a/packages/smooth_app/lib/l10n/app_ja.arb +++ b/packages/smooth_app/lib/l10n/app_ja.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "OK", "@okay": {}, + "validate": "検証", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "あなたと地球にとって良い食品を選んでください。", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "あなたの好みに関連する食品データを確認する。", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "画像を更新", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "画像を更新", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "状態", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "製品ページの価格アプリへのショートカット", "prices_app_button": "価格アプリに移動", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "サーバー設定", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "製品ページ", "dev_mode_section_ui": "ユーザインタフェース", "dev_mode_section_data": "データ", @@ -2179,7 +2264,11 @@ }, "capture": "新しく撮影する", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "画像を撮る", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "ギャラリーから選択する", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "プレビュー", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_jv.arb b/packages/smooth_app/lib/l10n/app_jv.arb index 6c4b65f2656..cd76fccf6aa 100644 --- a/packages/smooth_app/lib/l10n/app_jv.arb +++ b/packages/smooth_app/lib/l10n/app_jv.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ka.arb b/packages/smooth_app/lib/l10n/app_ka.arb index f1dc68c9413..2da0c0c6b80 100644 --- a/packages/smooth_app/lib/l10n/app_ka.arb +++ b/packages/smooth_app/lib/l10n/app_ka.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "კარგი", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "მონაცემები", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_kk.arb b/packages/smooth_app/lib/l10n/app_kk.arb index 31602b9438c..97986d486ab 100644 --- a/packages/smooth_app/lib/l10n/app_kk.arb +++ b/packages/smooth_app/lib/l10n/app_kk.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Деректер", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Суретке түсіру", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_km.arb b/packages/smooth_app/lib/l10n/app_km.arb index 781be4d126e..2b7822ca846 100644 --- a/packages/smooth_app/lib/l10n/app_km.arb +++ b/packages/smooth_app/lib/l10n/app_km.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "យល់ព្រម", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_kn.arb b/packages/smooth_app/lib/l10n/app_kn.arb index e6acc91c335..9b5d5b7941a 100644 --- a/packages/smooth_app/lib/l10n/app_kn.arb +++ b/packages/smooth_app/lib/l10n/app_kn.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ko.arb b/packages/smooth_app/lib/l10n/app_ko.arb index c0f68d34417..f8b20aa50e5 100644 --- a/packages/smooth_app/lib/l10n/app_ko.arb +++ b/packages/smooth_app/lib/l10n/app_ko.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "확인", "@okay": {}, + "validate": "검사", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "만들기", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "당신과 지구에 좋은 음식을 고르세요.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "당신의 선호도와 관련된 식품 데이터를 확인하세요.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "사진 새로고침", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "사진 새로고침", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "상태", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "데이터", @@ -2179,7 +2264,11 @@ }, "capture": "새 캡처", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "사진을 촬영", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "갤러리에서 선택", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ku.arb b/packages/smooth_app/lib/l10n/app_ku.arb index 22cdd3a1ecb..4b1f7436100 100644 --- a/packages/smooth_app/lib/l10n/app_ku.arb +++ b/packages/smooth_app/lib/l10n/app_ku.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Dane", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Bigire a resma", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_kw.arb b/packages/smooth_app/lib/l10n/app_kw.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_kw.arb +++ b/packages/smooth_app/lib/l10n/app_kw.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ky.arb b/packages/smooth_app/lib/l10n/app_ky.arb index e25dd64a1fc..1bdbce26605 100644 --- a/packages/smooth_app/lib/l10n/app_ky.arb +++ b/packages/smooth_app/lib/l10n/app_ky.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Түзүү", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_la.arb b/packages/smooth_app/lib/l10n/app_la.arb index 46f1db800b4..1c3f8a6246a 100644 --- a/packages/smooth_app/lib/l10n/app_la.arb +++ b/packages/smooth_app/lib/l10n/app_la.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_lb.arb b/packages/smooth_app/lib/l10n/app_lb.arb index ccb380f1be2..4ef44f858f3 100644 --- a/packages/smooth_app/lib/l10n/app_lb.arb +++ b/packages/smooth_app/lib/l10n/app_lb.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validéieren", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Daten", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Eng Foto maachen", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_lo.arb b/packages/smooth_app/lib/l10n/app_lo.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_lo.arb +++ b/packages/smooth_app/lib/l10n/app_lo.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_lt.arb b/packages/smooth_app/lib/l10n/app_lt.arb index bb1e3be0bcf..e740149012d 100644 --- a/packages/smooth_app/lib/l10n/app_lt.arb +++ b/packages/smooth_app/lib/l10n/app_lt.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Gerai", "@okay": {}, + "validate": "Patvirtinti", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Kurti", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Pasirinkite maistą, kuris tinka jums ir planetai.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Peržiūrėkite maisto duomenis, atitinkančius jūsų pageidavimus.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Kodėl matau šį pranešimą?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "Kad pasinaudotumėte funkcija „Ištraukti sudedamąsias dalis“, pirmiausia reikia įkelti nuotrauką.\n\nPalaukite kelias sekundes arba įveskite rankiniu būdu.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Atnaujinti nuotrauką", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Kodėl matau šį pranešimą?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "Kad pasinaudotumėte funkcija „Ištraukti pakuotę“, pirmiausia reikia įkelti nuotrauką.\n\nPalaukite kelias sekundes arba įveskite rankiniu būdu.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Atnaujinti nuotrauką", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Pasirinktinis naujienų URL", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "JSON failo URL:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Nenustatytas", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Būsena", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Paskutinis atnaujinimas: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Kainos", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Kaina: {price} / parduotuvė: \"{location}\" / Paskėlbė {date} \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Atverti \"{user}\" įrodymus", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Atverti kainos įrodymą", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "Naujienų teikėjo konfigūravimas", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Duomenys", @@ -2177,9 +2262,13 @@ } } }, - "capture": "Užfiksuoti naują", + "capture": "Nufotografuoti naują nuotrauką", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Fotografuoti", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Pasirinkti iš galerijos", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_lv.arb b/packages/smooth_app/lib/l10n/app_lv.arb index 4ad54b5bc97..6803f33da64 100644 --- a/packages/smooth_app/lib/l10n/app_lv.arb +++ b/packages/smooth_app/lib/l10n/app_lv.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Izveidot", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Dati", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Fotografēt", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_mg.arb b/packages/smooth_app/lib/l10n/app_mg.arb index 1b02b9c351c..879a5b24cb7 100644 --- a/packages/smooth_app/lib/l10n/app_mg.arb +++ b/packages/smooth_app/lib/l10n/app_mg.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Firaketana", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Makà sary", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_mi.arb b/packages/smooth_app/lib/l10n/app_mi.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_mi.arb +++ b/packages/smooth_app/lib/l10n/app_mi.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ml.arb b/packages/smooth_app/lib/l10n/app_ml.arb index 32ed0e37b08..c523bcb7b65 100644 --- a/packages/smooth_app/lib/l10n/app_ml.arb +++ b/packages/smooth_app/lib/l10n/app_ml.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_mn.arb b/packages/smooth_app/lib/l10n/app_mn.arb index 8a115b77caa..b703ef87451 100644 --- a/packages/smooth_app/lib/l10n/app_mn.arb +++ b/packages/smooth_app/lib/l10n/app_mn.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Баталгаажуулах", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_mr.arb b/packages/smooth_app/lib/l10n/app_mr.arb index 271cbc1b4d9..9071ad5a1e3 100644 --- a/packages/smooth_app/lib/l10n/app_mr.arb +++ b/packages/smooth_app/lib/l10n/app_mr.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Thik aahe", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ms.arb b/packages/smooth_app/lib/l10n/app_ms.arb index 1f0388e91eb..f4f493617c0 100644 --- a/packages/smooth_app/lib/l10n/app_ms.arb +++ b/packages/smooth_app/lib/l10n/app_ms.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okey", "@okay": {}, + "validate": "Tentusahkan", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Lihat data makanan yang berkaitan dengan pilihan anda.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ambil gambar", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_mt.arb b/packages/smooth_app/lib/l10n/app_mt.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_mt.arb +++ b/packages/smooth_app/lib/l10n/app_mt.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_my.arb b/packages/smooth_app/lib/l10n/app_my.arb index 3f4d81b5caf..02c3f2c43be 100644 --- a/packages/smooth_app/lib/l10n/app_my.arb +++ b/packages/smooth_app/lib/l10n/app_my.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_nb.arb b/packages/smooth_app/lib/l10n/app_nb.arb index 5832be15d1a..21ea0f04da2 100644 --- a/packages/smooth_app/lib/l10n/app_nb.arb +++ b/packages/smooth_app/lib/l10n/app_nb.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ok", "@okay": {}, + "validate": "Godkjenn", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Opprett", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Velg mat som er bra for deg og planeten.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Se matdata som er relevant for dine preferanser.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Oppdater bildet", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Oppdater bildet", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ta et bilde", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Velg fra bildegalleri", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ne.arb b/packages/smooth_app/lib/l10n/app_ne.arb index 265c5e357ac..05fc89a31ec 100644 --- a/packages/smooth_app/lib/l10n/app_ne.arb +++ b/packages/smooth_app/lib/l10n/app_ne.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "ल", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_nl.arb b/packages/smooth_app/lib/l10n/app_nl.arb index 478c8712e5c..d444cb76771 100644 --- a/packages/smooth_app/lib/l10n/app_nl.arb +++ b/packages/smooth_app/lib/l10n/app_nl.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Oké", "@okay": {}, + "validate": "Bevestigen", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Aanmaken", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Kies voedsel dat goed is voor jou en de planeet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Bekijk de voedselgegevens die relevant zijn voor uw voorkeuren.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Waarom zie ik dit bericht?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "Om de functie 'Ingrediënten extraheren' te gebruiken, moet de foto eerst worden geüpload.\n\nWacht een paar seconden of voer de ingrediënten handmatig in.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Foto vernieuwen", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Waarom zie ik dit bericht?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "Om de functie \"Verpakkingsgegevens extraheren\" te gebruiken, moet de foto eerst worden geüpload.\n\nWacht alstublieft een paar seconden of voer de verpakkingsgegevens handmatig in.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Foto vernieuwen", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Aangepaste URL voor nieuws", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL van het JSON-bestand:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Niet ingesteld", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Toestand", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Laatste vernieuwing: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Snelkoppeling naar de Prijzen-app op de productpagina", "prices_app_button": "Ga naar de Prijzen-app", "prices_generic_title": "Prijzen", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Streepjescodelezer", "prices_view_prices": "Bekijk de prijzen", + "prices_product_accessibility_summary": "{count,plural, one {}=1{1 prijs} other{{count} prijzen}} voor {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, one {}=0{Nog geen prijs} =1{Slechts één prijs} other{Alle {count} prijzen}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Prijs: {price} / Winkel: \"{location}\" / Gepubliceerd op {date} door \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Bewijzen openen van \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Prijsbewijs openen", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, one {}=0{Nog geen bewijs} =1{Slechts één bewijs} other{Alle {count} bewijzen}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Serverconfiguratie", + "dev_mode_section_news": "Configuratie van nieuwsprovider", "dev_mode_section_product_page": "Productpagina", "dev_mode_section_ui": "Gebruikersinterface", "dev_mode_section_data": "Gegevens", @@ -2177,9 +2262,13 @@ } } }, - "capture": "Nieuwe vastleggen", + "capture": "Maak een nieuwe foto", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Maak een foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Kies uit gallerij", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Voorbeeld", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Klik hier om ons uw feedback over deze nieuwe functie te sturen!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_nn.arb b/packages/smooth_app/lib/l10n/app_nn.arb index 1731558508f..08ef016ebdb 100644 --- a/packages/smooth_app/lib/l10n/app_nn.arb +++ b/packages/smooth_app/lib/l10n/app_nn.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ta et bilde", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_no.arb b/packages/smooth_app/lib/l10n/app_no.arb index 1731558508f..08ef016ebdb 100644 --- a/packages/smooth_app/lib/l10n/app_no.arb +++ b/packages/smooth_app/lib/l10n/app_no.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ta et bilde", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_nr.arb b/packages/smooth_app/lib/l10n/app_nr.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_nr.arb +++ b/packages/smooth_app/lib/l10n/app_nr.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_oc.arb b/packages/smooth_app/lib/l10n/app_oc.arb index efd39816bd6..68e74253e48 100644 --- a/packages/smooth_app/lib/l10n/app_oc.arb +++ b/packages/smooth_app/lib/l10n/app_oc.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Crear", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Donadas", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_or.arb b/packages/smooth_app/lib/l10n/app_or.arb index b10968f9050..60645b22e1f 100644 --- a/packages/smooth_app/lib/l10n/app_or.arb +++ b/packages/smooth_app/lib/l10n/app_or.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "ଠିକ୍ ଅଛି", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_pa.arb b/packages/smooth_app/lib/l10n/app_pa.arb index a3502859bad..bd1ad1f4d30 100644 --- a/packages/smooth_app/lib/l10n/app_pa.arb +++ b/packages/smooth_app/lib/l10n/app_pa.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_pl.arb b/packages/smooth_app/lib/l10n/app_pl.arb index 47b3825a9ed..9d2cf82bac5 100644 --- a/packages/smooth_app/lib/l10n/app_pl.arb +++ b/packages/smooth_app/lib/l10n/app_pl.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "OK", "@okay": {}, + "validate": "Zweryfikuj", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Stwórz", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Wybierz produkty, które są dobre dla Ciebie i naszej planety.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Zobacz dane dotyczące żywności odpowiadające Twoim preferencjom.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Odśwież zdjęcie", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Odśwież zdjęcie", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Ceny", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Dane", @@ -2179,7 +2264,11 @@ }, "capture": "Zrób zdjęcie", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Zrób zdjęcie", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Wybierz z galerii", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_pt.arb b/packages/smooth_app/lib/l10n/app_pt.arb index 14dccb75a57..6a32c08ebac 100644 --- a/packages/smooth_app/lib/l10n/app_pt.arb +++ b/packages/smooth_app/lib/l10n/app_pt.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ok", "@okay": {}, + "validate": "Validar", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Criar", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Escolha alimentos que são bons para você e para o planeta.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Veja as informações nutricionais relevantes às suas preferências.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Atualizar fotografia", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Atualizar fotografia", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Estado", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Atalho para a aplicação Preços na página do produto", "prices_app_button": "Ir para a aplicação Preços", "prices_generic_title": "Preços", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "Ver os preços", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{Ainda sem preço} =1{Apenas um preço} other{Todos os {count} preços}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Dados", @@ -2179,7 +2264,11 @@ }, "capture": "Fotografar mais recente", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Tirar uma foto", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Escolher da galeria", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_qu.arb b/packages/smooth_app/lib/l10n/app_qu.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_qu.arb +++ b/packages/smooth_app/lib/l10n/app_qu.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_rm.arb b/packages/smooth_app/lib/l10n/app_rm.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_rm.arb +++ b/packages/smooth_app/lib/l10n/app_rm.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ro.arb b/packages/smooth_app/lib/l10n/app_ro.arb index c911d649da4..2f30a2df89b 100644 --- a/packages/smooth_app/lib/l10n/app_ro.arb +++ b/packages/smooth_app/lib/l10n/app_ro.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Bine", "@okay": {}, + "validate": "Validați", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Crează", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Alege alimente care sunt bune pentru tine și planetă.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Vedeți datele despre alimente relevante pentru preferințele dvs.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Reîmprospătați fotografia", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Reîmprospătați fotografia", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Stare", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Date", @@ -2179,7 +2264,11 @@ }, "capture": "Captură nouă", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Faceți o fotografie", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Alegeți din galerie", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ru.arb b/packages/smooth_app/lib/l10n/app_ru.arb index 71a326333cc..7c37e7f1a3a 100644 --- a/packages/smooth_app/lib/l10n/app_ru.arb +++ b/packages/smooth_app/lib/l10n/app_ru.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Окей", "@okay": {}, + "validate": "Подтвердить", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Создать", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Выбирайте еду, которая полезна для вас и для планеты.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Смотрите данные о еде, соответствующие вашим предпочтениям.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Обновить фото", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Обновить фото", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Статус", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Данные", @@ -2179,7 +2264,11 @@ }, "capture": "Новый снимок", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Сфотографировать", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Выбрать из галереи", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sa.arb b/packages/smooth_app/lib/l10n/app_sa.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_sa.arb +++ b/packages/smooth_app/lib/l10n/app_sa.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sc.arb b/packages/smooth_app/lib/l10n/app_sc.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_sc.arb +++ b/packages/smooth_app/lib/l10n/app_sc.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sd.arb b/packages/smooth_app/lib/l10n/app_sd.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_sd.arb +++ b/packages/smooth_app/lib/l10n/app_sd.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sg.arb b/packages/smooth_app/lib/l10n/app_sg.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_sg.arb +++ b/packages/smooth_app/lib/l10n/app_sg.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_si.arb b/packages/smooth_app/lib/l10n/app_si.arb index e211d286d36..48abd7d0846 100644 --- a/packages/smooth_app/lib/l10n/app_si.arb +++ b/packages/smooth_app/lib/l10n/app_si.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sk.arb b/packages/smooth_app/lib/l10n/app_sk.arb index 68e27d8b0d5..be92b8d34de 100644 --- a/packages/smooth_app/lib/l10n/app_sk.arb +++ b/packages/smooth_app/lib/l10n/app_sk.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "V poriadku", "@okay": {}, + "validate": "Potvrdiť", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Vytvoriť", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Vyberte si potraviny, ktoré sú dobré pre vás a planétu.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Zobraziť údaje o potravinách, ktoré zodpovedajú vašim preferenciám.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Odkaz na aplikáciu Ceny na stránke produktu", "prices_app_button": "Prejdite do aplikácie Ceny", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Údaje", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Odfotiť", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sl.arb b/packages/smooth_app/lib/l10n/app_sl.arb index 9ee10bb3ca8..a63275bd19b 100644 --- a/packages/smooth_app/lib/l10n/app_sl.arb +++ b/packages/smooth_app/lib/l10n/app_sl.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "V redu", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Ustvari", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Izberite živila, ki je dobra za vas, kot tudi za svet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Oglejte si podatke o živilih, ki ustrezajo vašim željam.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Osveži fotografijo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Osveži fotografijo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Stanje", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Podatki", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Posnemi fotografijo", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sn.arb b/packages/smooth_app/lib/l10n/app_sn.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_sn.arb +++ b/packages/smooth_app/lib/l10n/app_sn.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_so.arb b/packages/smooth_app/lib/l10n/app_so.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_so.arb +++ b/packages/smooth_app/lib/l10n/app_so.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sq.arb b/packages/smooth_app/lib/l10n/app_sq.arb index 26aa2799529..d6113195a28 100644 --- a/packages/smooth_app/lib/l10n/app_sq.arb +++ b/packages/smooth_app/lib/l10n/app_sq.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ne rregull", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Shihni te dhenat ushqimore qe jane te rendesishme lidhur me pelqyeshmerite tuaja.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sr.arb b/packages/smooth_app/lib/l10n/app_sr.arb index bd2e6dd1d0f..e1bed265d04 100644 --- a/packages/smooth_app/lib/l10n/app_sr.arb +++ b/packages/smooth_app/lib/l10n/app_sr.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Подаци", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ss.arb b/packages/smooth_app/lib/l10n/app_ss.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_ss.arb +++ b/packages/smooth_app/lib/l10n/app_ss.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_st.arb b/packages/smooth_app/lib/l10n/app_st.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_st.arb +++ b/packages/smooth_app/lib/l10n/app_st.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sv.arb b/packages/smooth_app/lib/l10n/app_sv.arb index 6389bf35997..d66543e7895 100644 --- a/packages/smooth_app/lib/l10n/app_sv.arb +++ b/packages/smooth_app/lib/l10n/app_sv.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okej", "@okay": {}, + "validate": "Validera", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Skapa", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Se de matdata som är relevanta för dina önskemål.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ta en bild", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_sw.arb b/packages/smooth_app/lib/l10n/app_sw.arb index fab8450a8da..8dbf0d939b0 100644 --- a/packages/smooth_app/lib/l10n/app_sw.arb +++ b/packages/smooth_app/lib/l10n/app_sw.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ta.arb b/packages/smooth_app/lib/l10n/app_ta.arb index a3800c17a56..452c01bd7e4 100644 --- a/packages/smooth_app/lib/l10n/app_ta.arb +++ b/packages/smooth_app/lib/l10n/app_ta.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "சரி", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "உருவாக்கு", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "தரவு", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "ஒரு படம் எடு", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "இந்தப் புதிய அம்சத்தைப் பற்றிய உங்கள் கருத்தை எங்களுக்கு அனுப்ப இங்கே கிளிக் செய்யவும்!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_te.arb b/packages/smooth_app/lib/l10n/app_te.arb index 0c920c56da9..4aceca73a7d 100644 --- a/packages/smooth_app/lib/l10n/app_te.arb +++ b/packages/smooth_app/lib/l10n/app_te.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_tg.arb b/packages/smooth_app/lib/l10n/app_tg.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_tg.arb +++ b/packages/smooth_app/lib/l10n/app_tg.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_th.arb b/packages/smooth_app/lib/l10n/app_th.arb index 6ab989ddbe1..7c896a7640b 100644 --- a/packages/smooth_app/lib/l10n/app_th.arb +++ b/packages/smooth_app/lib/l10n/app_th.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "โอเค", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "เลือกอาหาร ที่ดีสำหรับคุณ และโลกนี้", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "ดูข้อมูลอาหาร ที่คุณสนใจ(ความต้องการ)", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "ข้อมูล", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "ถ่ายภาพ", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2852,7 +2941,7 @@ "guide_nutriscore_v2_new_logo_title": "How to differentiate old Nutri-Score and new calculation?", "guide_nutriscore_v2_new_logo_text": "From now on, the logo can display a mention \"**New calculation**\" to clarify that this is indeed the new calculation.", "guide_nutriscore_v2_new_logo_image_caption": "The logo of the new Nutri-Score", - "guide_nutriscore_v2_where_title": "Where to find the new Nutri-Score calculation?", + "guide_nutriscore_v2_where_title": "ประเทศที่มีการนำ Nutri-Score แบบใหม่ไปใช้", "guide_nutriscore_v2_where_paragraph1": "The Nutri-Score is applied in several countries: Germany, Belgium, Spain, France, Luxembourg, the Netherlands and Switzerland.", "guide_nutriscore_v2_where_paragraph2": "Manufacturers have until **2026** at the latest **to replace** the old calculation with the new one.", "guide_nutriscore_v2_where_paragraph3": "Without waiting, you **will already find in the OpenFoodFacts application**, the new calculation, including if the manufacturers have not updated the score.", @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ti.arb b/packages/smooth_app/lib/l10n/app_ti.arb index d448c94a7d0..638bbf5a62b 100644 --- a/packages/smooth_app/lib/l10n/app_ti.arb +++ b/packages/smooth_app/lib/l10n/app_ti.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_tl.arb b/packages/smooth_app/lib/l10n/app_tl.arb index dbcf11b0994..9b5d1efb91a 100644 --- a/packages/smooth_app/lib/l10n/app_tl.arb +++ b/packages/smooth_app/lib/l10n/app_tl.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Datos", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Kumuha ng larawan", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_tn.arb b/packages/smooth_app/lib/l10n/app_tn.arb index 1e534e3b6c4..bcfa1f0af3a 100644 --- a/packages/smooth_app/lib/l10n/app_tn.arb +++ b/packages/smooth_app/lib/l10n/app_tn.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_tr.arb b/packages/smooth_app/lib/l10n/app_tr.arb index 1ad5d380ce6..1bef3191f5c 100644 --- a/packages/smooth_app/lib/l10n/app_tr.arb +++ b/packages/smooth_app/lib/l10n/app_tr.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Tamam", "@okay": {}, + "validate": "Geçerlilik", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Oluştur", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Kendiniz ve gezegen için iyi olan yiyecekleri seçiniz.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Tercihleriniz ile ilgili gıda verilerine bakın.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Fotoğrafı yenileyin", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Fotoğrafı yenileyin", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Durum", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Ürün sayfasındaki Fiyatlar uygulamasının kısayolu", "prices_app_button": "Fiyatlar uygulamasına gidin", "prices_generic_title": "Fiyatlar", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Veri", @@ -2179,7 +2264,11 @@ }, "capture": "Yeni Yakala", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Resim çek", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Galeriden seç", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ts.arb b/packages/smooth_app/lib/l10n/app_ts.arb index 1e534e3b6c4..bcfa1f0af3a 100644 --- a/packages/smooth_app/lib/l10n/app_ts.arb +++ b/packages/smooth_app/lib/l10n/app_ts.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_tt.arb b/packages/smooth_app/lib/l10n/app_tt.arb index 84cbf7f9024..4fd9ecd0870 100644 --- a/packages/smooth_app/lib/l10n/app_tt.arb +++ b/packages/smooth_app/lib/l10n/app_tt.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Ярар", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Ясарга", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Халәт", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Мәгълүмат", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_tw.arb b/packages/smooth_app/lib/l10n/app_tw.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_tw.arb +++ b/packages/smooth_app/lib/l10n/app_tw.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ty.arb b/packages/smooth_app/lib/l10n/app_ty.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_ty.arb +++ b/packages/smooth_app/lib/l10n/app_ty.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ug.arb b/packages/smooth_app/lib/l10n/app_ug.arb index facddd04004..39c0ace6eaf 100644 --- a/packages/smooth_app/lib/l10n/app_ug.arb +++ b/packages/smooth_app/lib/l10n/app_ug.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "سانلىق مەلۇمات", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "رەسىمگە تارتىش", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_uk.arb b/packages/smooth_app/lib/l10n/app_uk.arb index bdc0ab8d9a3..ad3b7af325c 100644 --- a/packages/smooth_app/lib/l10n/app_uk.arb +++ b/packages/smooth_app/lib/l10n/app_uk.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Перевірити", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Створити", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Обирайте їжу, що не шкодить ні Вам, ні планеті.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Продивіться дані про харчові продукти, що відповідають вашим вподобанням.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Чому я бачу це повідомлення?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "Щоб скористатися функцією «Витяг інгредієнтів», спершу потрібно завантажити фото.\n\nЗачекайте кілька секунд або введіть їх вручну.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Оновити фото", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Чому я бачу це повідомлення?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "Щоб скористатися функцією «Витягнути упаковку», спочатку потрібно завантажити фотографію.\n\nЗачекайте кілька секунд або введіть їх вручну.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Оновити фото", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Стан", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Ярлик програми «Ціни» на сторінці продукту", "prices_app_button": "Перейдіть у додаток Ціни", "prices_generic_title": "Ціни", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Сканер штрих-коду", "prices_view_prices": "Переглянути ціни", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Конфігурація сервера", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Сторінка продукту", "dev_mode_section_ui": "Інтерфейс користувача", "dev_mode_section_data": "Дані", @@ -2179,7 +2264,11 @@ }, "capture": "Зробити нове фото", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Сфотографувати", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Вибрати з галереї", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Попередній перегляд", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Натисніть тут, щоб надіслати нам свій відгук про цю нову функцію!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ur.arb b/packages/smooth_app/lib/l10n/app_ur.arb index a050e760be7..ec48fadb2d6 100644 --- a/packages/smooth_app/lib/l10n/app_ur.arb +++ b/packages/smooth_app/lib/l10n/app_ur.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "تصویر لیں", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_uz.arb b/packages/smooth_app/lib/l10n/app_uz.arb index a10381b1069..391c0e2d8cf 100644 --- a/packages/smooth_app/lib/l10n/app_uz.arb +++ b/packages/smooth_app/lib/l10n/app_uz.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Maʻlumot", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Suratga olish", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_ve.arb b/packages/smooth_app/lib/l10n/app_ve.arb index 1e534e3b6c4..bcfa1f0af3a 100644 --- a/packages/smooth_app/lib/l10n/app_ve.arb +++ b/packages/smooth_app/lib/l10n/app_ve.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_vi.arb b/packages/smooth_app/lib/l10n/app_vi.arb index 2f38a26f8d9..5ce19b4332f 100644 --- a/packages/smooth_app/lib/l10n/app_vi.arb +++ b/packages/smooth_app/lib/l10n/app_vi.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Xác thực", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Tạo", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Lựa chọn thực phẩm tốt cho bạn và hành tinh này.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "Xem dữ liệu thực phẩm liên quan đến sở thích của bạn.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Làm mới ảnh", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Làm mới ảnh", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Trạng thái", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Dữ liệu", @@ -2179,7 +2264,11 @@ }, "capture": "Chụp mới", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Chụp ảnh", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Chọn từ thư viện ảnh", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_wa.arb b/packages/smooth_app/lib/l10n/app_wa.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_wa.arb +++ b/packages/smooth_app/lib/l10n/app_wa.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_wo.arb b/packages/smooth_app/lib/l10n/app_wo.arb index 1e534e3b6c4..bcfa1f0af3a 100644 --- a/packages/smooth_app/lib/l10n/app_wo.arb +++ b/packages/smooth_app/lib/l10n/app_wo.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_xh.arb b/packages/smooth_app/lib/l10n/app_xh.arb index cc3ec58afc4..54a17cba161 100644 --- a/packages/smooth_app/lib/l10n/app_xh.arb +++ b/packages/smooth_app/lib/l10n/app_xh.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_yi.arb b/packages/smooth_app/lib/l10n/app_yi.arb index d880cf68188..a04870a85f2 100644 --- a/packages/smooth_app/lib/l10n/app_yi.arb +++ b/packages/smooth_app/lib/l10n/app_yi.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_yo.arb b/packages/smooth_app/lib/l10n/app_yo.arb index c1cd3ac71e0..c1194b8140c 100644 --- a/packages/smooth_app/lib/l10n/app_yo.arb +++ b/packages/smooth_app/lib/l10n/app_yo.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Ya aworan kan", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_zh.arb b/packages/smooth_app/lib/l10n/app_zh.arb index 4dd46edf3f7..a0a0a0069c0 100644 --- a/packages/smooth_app/lib/l10n/app_zh.arb +++ b/packages/smooth_app/lib/l10n/app_zh.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "好的", "@okay": {}, + "validate": "驗證", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "创建", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "选择对您和地球有益的食物。", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "查看和您的偏好有关的食品数据。", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "刷新照片", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "刷新照片", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "狀態", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "數據", @@ -2179,7 +2264,11 @@ }, "capture": "拍摄", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "選一張圖片", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "从相册选择", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_zu.arb b/packages/smooth_app/lib/l10n/app_zu.arb index 0fc7d7f6c74..f883d66d9f2 100644 --- a/packages/smooth_app/lib/l10n/app_zu.arb +++ b/packages/smooth_app/lib/l10n/app_zu.arb @@ -14,6 +14,10 @@ "@reason": {}, "okay": "Okay", "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, "create": "Create", "@create": { "description": "An action to create" @@ -129,10 +133,6 @@ "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "offUtility": "Choose food that is good for you and the planet.", - "@offUtility": { - "description": "Description of what a user can use Open Food Facts for." - }, "productDataUtility": "See the food data relevant to your preferences.", "@productDataUtility": { "description": "Description of what a user can use the product data for." @@ -1491,6 +1491,14 @@ "@edit_ingredients_loading_photo_btn_text": { "description": "Ingredients edition - Loading photo from the server" }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, "edit_ingredients_refresh_photo_btn_text": "Refresh photo", "@edit_ingredients_refresh_photo_btn_text": { "description": "Ingredients edition - Refresh photo" @@ -1507,6 +1515,14 @@ "@edit_packaging_loading_photo_btn_text": { "description": "Packaging edition - Loading photo from the server" }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, "edit_packaging_refresh_photo_btn_text": "Refresh photo", "@edit_packaging_refresh_photo_btn_text": { "description": "Packaging edition - Refresh photo" @@ -1716,6 +1732,31 @@ "@dev_preferences_import_history_subtitle": { "description": "User dev preferences - Import history - Subtitle" }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", "prices_app_button": "Go to Prices app", "prices_generic_title": "Prices", @@ -1740,6 +1781,18 @@ }, "prices_barcode_reader_action": "Barcode reader", "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", @@ -1761,6 +1814,37 @@ } } }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", @@ -1824,6 +1908,7 @@ "description": "User dev preferences - Import history - Result successful" }, "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", "dev_mode_section_product_page": "Product page", "dev_mode_section_ui": "User Interface", "dev_mode_section_data": "Data", @@ -2179,7 +2264,11 @@ }, "capture": "Capture New", "@capture": { - "description": "Button label for taking a photo" + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" }, "choose_from_gallery": "Choose from gallery", "@choose_from_gallery": { @@ -2867,5 +2956,9 @@ "preview_badge": "Preview", "@preview_badge": { "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" } } \ No newline at end of file