From 804e5054c06ac8bdc8ecc13d9c1f4d73925053ab Mon Sep 17 00:00:00 2001 From: Nenza Nurfirmansyah Date: Mon, 10 Oct 2022 11:37:58 +0700 Subject: [PATCH 1/3] add Bahasa Indonesia language & translation --- lib/l10n/app_id.arb | 549 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 549 insertions(+) create mode 100644 lib/l10n/app_id.arb diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb new file mode 100644 index 000000000..052980dff --- /dev/null +++ b/lib/l10n/app_id.arb @@ -0,0 +1,549 @@ +{ + "@@last_modified": "2020-11-11T15:04:05.523531", + "login": "Masuk", + "@login": { + "description": "Text for login button" + }, + "logout": "Keluar", + "@logout": { + "description": "Text for logout button" + }, + "register": "Daftar", + "@register": { + "description": "Text for registration button" + }, + "useDefaultServer": "Gunakan server bawaan ", + "@useDefaultServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "useCustomServer": "Gunakan server lain", + "@useCustomServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "invalidUrl": "Mohon masukkan URL yang valid", + "@invalidUrl": { + "description": "Error message when the user enters an invalid URL, e.g. in the login form" + }, + "usernameValidChars": "Username hanya dapat diisi dengan hiruf, angka, dan karakter @, +, ., -, dan _", + "@usernameValidChars": { + "description": "Error message when the user tries to register a username with forbidden characters" + }, + "passwordsDontMatch": "Password tidak sesuai", + "@passwordsDontMatch": { + "description": "Error message when the user enters two different passwords during registration" + }, + "passwordTooShort": "Password terlalu pendek", + "@passwordTooShort": { + "description": "Error message when the user a password that is too short" + }, + "password": "Password", + "@password": {}, + "confirmPassword": "Konfirmasi Password", + "@confirmPassword": {}, + "invalidEmail": "Mohon masukkan E-mail yang valid", + "@invalidEmail": { + "description": "Error message when the user enters an invalid email" + }, + "email": "Alamat E-mail", + "@email": {}, + "username": "Username", + "@username": {}, + "invalidUsername": "Mohon masukkan username yang valid", + "@invalidUsername": { + "description": "Error message when the user enters an invalid username" + }, + "customServerUrl": "URL dari wger", + "@customServerUrl": { + "description": "Label in the form where the users can enter their own wger instance" + }, + "customServerHint": "Masukkan alamat servermu sendiri, jika tidak akan menggunakan server bawaan", + "@customServerHint": { + "description": "Hint text for the form where the users can enter their own wger instance" + }, + "reset": "Reset", + "@reset": { + "description": "Button text allowing the user to reset the entered values to the default" + }, + "registerInstead": "Mohon daftar terlebih dahulu", + "@registerInstead": {}, + "loginInstead": "Mohon masuk terlebih dahulu", + "@loginInstead": {}, + "labelWorkoutPlans": "Daftar rencana workout", + "@labelWorkoutPlans": { + "description": "Title for screen workout plans" + }, + "labelBottomNavWorkout": "Workout", + "@labelBottomNavWorkout": { + "description": "Label used in bottom navigation, use a short word" + }, + "labelBottomNavNutrition": "Nutrisi", + "@labelBottomNavNutrition": { + "description": "Label used in bottom navigation, use a short word" + }, + "labelWorkoutLogs": "Log latihan", + "@labelWorkoutLogs": { + "description": "(Workout) logs" + }, + "labelWorkoutPlan": "Rencana workout", + "@labelWorkoutPlan": { + "description": "Title for screen workout plan" + }, + "labelDashboard": "Dashboard", + "@labelDashboard": { + "description": "Title for screen dashboard" + }, + "successfullyDeleted": "Terhapus", + "@successfullyDeleted": { + "description": "Message when an item was successfully deleted" + }, + "successfullySaved": "Tersimpan", + "@successfullySaved": { + "description": "Message when an item was successfully saved" + }, + "exercise": "Latihan", + "@exercise": { + "description": "An exercise for a workout" + }, + "searchExercise": "Carai latihan untuk ditambahkan", + "@searchExercise": { + "description": "Label on set form. Selected exercises are added to the set" + }, + "supersetWith": "tambahkan dengan", + "@supersetWith": { + "description": "Text used between exercise cards when adding a new set. Translate as something like 'in a superset with'" + }, + "equipment": "Perlengkapan", + "@equipment": { + "description": "Equipment needed to perform an exercise" + }, + "muscles": "Otot", + "@muscles": { + "description": "(main) muscles trained by an exercise" + }, + "musclesSecondary": "Otot sekunder", + "@musclesSecondary": { + "description": "secondary muscles trained by an exercise" + }, + "category": "Kategori", + "@category": { + "description": "Category for an exercise, ingredient, etc." + }, + "newWorkout": "Rencana workout baru", + "@newWorkout": { + "description": "Header when adding a new workout" + }, + "noWorkoutPlans": "Kamu belum mempunyain rencana workout", + "@noWorkoutPlans": { + "description": "Message shown when the user has no workout plans" + }, + "repetitions": "Pengulangan", + "@repetitions": { + "description": "Repetitions for an exercise set" + }, + "reps": "Reps", + "@reps": { + "description": "Shorthand for repetitions, used when space constraints are tighter" + }, + "rir": "RiR", + "@rir": { + "description": "Shorthand for Repetitions In Reserve" + }, + "rirNotUsed": "RiR tidak digunakan", + "@rirNotUsed": { + "description": "Label used in RiR slider when the RiR value is not used/saved for the current setting or log" + }, + "weightUnit": "Satuan bobot", + "@weightUnit": {}, + "repetitionUnit": "Satuan pengulangan", + "@repetitionUnit": {}, + "set": "Set", + "@set": { + "description": "A set in a workout plan" + }, + "dayDescriptionHelp": "Deskripsi untuk yang sudah diselesaikan hari ini (contoh: 'pull day') atau bagian tubuh mana yang sudah dilatih (contoh: 'dada dan pundak')", + "@dayDescriptionHelp": {}, + "setNr": "Set {nr}", + "@setNr": { + "description": "Header in form indicating the number of the current set. Can also be translated as something like 'Set Nr. xy'.", + "type": "text", + "placeholders": { + "nr": {} + } + }, + "sameRepetitions": "Jika Anda melakukan pengulangan dan bobot yang sama untuk semua set, Anda cukup mengisi satu baris. Misalnya untuk 4 set cukup masukkan 10 untuk pengulangan, ini secara otomatis menjadi \"4 x 10\".", + "@sameRepetitions": {}, + "comment": "Komentar", + "@comment": { + "description": "Comment, additional information" + }, + "impression": "Kesan", + "@impression": { + "description": "General impression (e.g. for a workout session) such as good, bad, etc." + }, + "notes": "Catatan", + "@notes": { + "description": "Personal notes, e.g. for a workout session" + }, + "workoutSession": "Sesi workout", + "@workoutSession": { + "description": "A (logged) workout session" + }, + "newDay": "Hari baru", + "@newDay": {}, + "newSet": "Set baru", + "@newSet": { + "description": "Header when adding a new set to a workout day" + }, + "selectExercises": "Jika Anda ingin melakukan superset, Anda dapat mencari beberapa latihan, mereka akan dikelompokkan bersama", + "@selectExercises": {}, + "gymMode": "Mode gym", + "@gymMode": { + "description": "Label when starting the gym mode" + }, + "plateCalculator": "Plates", + "@plateCalculator": { + "description": "Label used for the plate calculator in the gym mode" + }, + "plateCalculatorNotDivisible": "Tidak memungkinkan untuk mencapai bobot dengan plate yang tersedia", + "@plateCalculatorNotDivisible": { + "description": "Error message when the current weight is not reachable with plates (e.g. 33.1 kg)" + }, + "pause": "Jeda", + "@pause": { + "description": "Noun, not an imperative! Label used for the pause when using the gym mode" + }, + "jumpTo": "Lompat ke", + "@jumpTo": { + "description": "Imperative. Label used in popup allowing the user to jump to a specific exercise while in the gym mode" + }, + "todaysWorkout": "Latihanmu hari ini", + "@todaysWorkout": {}, + "logHelpEntries": "If on a single day there is more than one entry with the same number of repetitions, but different weights, only the entry with the higher weight is shown in the diagram.", + "@logHelpEntries": {}, + "logHelpEntriesUnits": "Note that only entries with a weight unit (kg or lb) and repetitions are charted, other combinations such as time or until failure are ignored here.", + "@logHelpEntriesUnits": {}, + "description": "Description", + "@description": {}, + "name": "Nama", + "@name": { + "description": "Name for a workout or nutritional plan" + }, + "save": "Simpan", + "@save": {}, + "addSet": "Tambah set", + "@addSet": { + "description": "Label for the button that adds a set (to a workout day)" + }, + "addMeal": "Tambah makanan", + "@addMeal": {}, + "mealLogged": "Meal logged to diary", + "@mealLogged": {}, + "logMeal": "Catat makanan ini", + "@logMeal": {}, + "addIngredient": "Tambah komposisi", + "@addIngredient": {}, + "logIngredient": "Simpan di diari nutrisi", + "@logIngredient": {}, + "searchIngredient": "Cari komposisi", + "@searchIngredient": { + "description": "Label on ingredient search form" + }, + "nutritionalPlan": "Nutritional plan", + "@nutritionalPlan": {}, + "nutritionalDiary": "Nutritional diary", + "@nutritionalDiary": {}, + "nutritionalPlans": "Nutritional plans", + "@nutritionalPlans": {}, + "noNutritionalPlans": "You have no nutritional plans", + "@noNutritionalPlans": { + "description": "Message shown when the user has no nutritional plans" + }, + "anErrorOccurred": "An Error Occurred!", + "@anErrorOccurred": {}, + "weight": "Weight", + "@weight": { + "description": "The weight of a workout log or body weight entry" + }, + "measurement": "Measurement", + "measurements": "Measurements", + "@measurements": { + "description": "Categories for the measurements such as biceps size, body fat, etc." + }, + "measurementCategoriesHelpText": "Measurement category, such as 'biceps' or 'body fat'", + "measurementEntriesHelpText": "The unit used to measure the category such as 'cm' or '%'", + "date": "Date", + "@date": { + "description": "The date of a workout log or body weight entry" + }, + "value": "Value", + "@value": { + "description": "The value of a measurement entry" + }, + "start": "Start", + "@start": { + "description": "Label on button to start the gym mode (i.e., an imperative)" + }, + "time": "Time", + "@time": { + "description": "The time of a meal or workout" + }, + "timeStart": "Start time", + "@timeStart": { + "description": "The starting time of a workout" + }, + "timeEnd": "End time", + "@timeEnd": { + "description": "The end time of a workout" + }, + "timeStartAhead": "Start time cannot be ahead of end time", + "ingredient": "Ingredient", + "@ingredient": {}, + "energy": "Energy", + "@energy": { + "description": "Energy in a meal, ingredient etc. e.g. in kJ" + }, + "energyShort": "E", + "@energyShort": { + "description": "The first letter or short name of the word 'Energy', used in overviews" + }, + "kcal": "kcal", + "@kcal": { + "description": "Energy in a meal in kilocalories, kcal" + }, + "macronutrients": "Macronutrients", + "planned": "Planned", + "@planned": { + "description": "Header for the column of 'planned' nutritional values, i.e. what should be eaten" + }, + "logged": "Logged", + "@logged": { + "description": "Header for the column of 'logged' nutritional values, i.e. what was eaten" + }, + "weekAverage": "7 day average", + "@weekAverage": { + "description": "Header for the column of '7 day average' nutritional values, i.e. what was logged last week" + }, + "difference": "Difference", + "percentEnergy": "Percent of energy", + "gPerBodyKg": "g per body kg", + "@gPerBodyKg": { + "description": "Label used for total sums of e.g. calories or similar in grams per Kg of body weight" + }, + "total": "Total", + "@total": { + "description": "Label used for total sums of e.g. calories or similar" + }, + "kJ": "kJ", + "@kJ": { + "description": "Energy in a meal in kilo joules, kJ" + }, + "g": "g", + "@g": { + "description": "Abbreviation for gram" + }, + "protein": "Protein", + "@protein": {}, + "proteinShort": "P", + "@proteinShort": { + "description" : "The first letter or short name of the word 'Protein', used in overviews" + }, + "carbohydrates": "Carbohydrates", + "@carbohydrates": {}, + "carbohydratesShort": "C", + "@carbohydratesShort": { + "description" : "The first letter or short name of the word 'Carbohydrates', used in overviews" + }, + "sugars": "Sugars", + "@sugars": {}, + "fat": "Fat", + "@fat": {}, + "fatShort": "F", + "@fatShort": { + "description" : "The first letter or short name of the word 'Fat', used in overviews" + }, + "saturatedFat": "Saturated fat", + "@saturatedFat": {}, + "fibres": "Fibre", + "@fibres": {}, + "sodium": "Sodium", + "@sodium": {}, + "amount": "Amount", + "@amount": { + "description": "The amount (e.g. in grams) of an ingredient in a meal" + }, + "unit": "Unit", + "@unit": { + "description": "The unit used for a repetition (kg, time, etc.)" + }, + "newEntry": "New entry", + "@newEntry": { + "description": "Title when adding a new entry such as a weight or log entry" + }, + "noWeightEntries": "You have no weight entries", + "@noWeightEntries": { + "description": "Message shown when the user has no logged weight entries" + }, + "edit": "Edit", + "@edit": {}, + "loadingText": "Loading...", + "@loadingText": { + "description": "Text to show when entries are being loaded in the background: Loading..." + }, + "delete": "Delete", + "@delete": {}, + "confirmDelete": "Are you sure you want to delete '{toDelete}'?", + "@confirmDelete": { + "description": "Confirmation text before the user deletes an object", + "type": "text", + "placeholders": { + "toDelete": {} + } + }, + "newNutritionalPlan": "New nutritional plan", + "@newNutritionalPlan": {}, + "toggleDetails": "Toggle details", + "@toggleDetails": { + "description": "Switch to toggle detail / overview" + }, + "goToDetailPage": "Go to detail page", + "aboutDescription": "Thank you for using wger! wger is a collaborative open source project, made by fitness enthusiasts from around the world.", + "@aboutDescription": { + "description": "Text in the about dialog" + }, + "aboutSourceTitle": "Source code", + "@aboutSourceTitle": { + "description": "Title for source code section in the about dialog" + }, + "aboutSourceText": "Get the source code of this application and its server on github", + "@aboutSourceText": { + "description": "Text for source code section in the about dialog" + }, + "aboutBugsTitle": "Have a problem or idea?", + "@aboutBugsTitle": { + "description": "Title for bugs section in the about dialog" + }, + "aboutBugsText": "Get in touch if something didn't behave as expected or if there is a feature that you feel is missing.", + "@aboutBugsText": { + "description": "Text for bugs section in the about dialog" + }, + "aboutContactUsTitle": "Say hi!", + "@aboutContactUsTitle": { + "description": "Title for contact us section in the about dialog" + }, + "aboutContactUsText": "If you want to chat with us, hop on the Discord server and get in touch", + "@aboutContactUsText": { + "description": "Text for contact us section in the about dialog" + }, + "aboutTranslationTitle": "Translation", + "@aboutTranslationTitle": { + "description": "Title for translation section in the about dialog" + }, + "aboutTranslationText": "This application is translated on weblate. If you also want to help, click the link and start translating", + "@aboutTranslationText": { + "description": "Text for translation section in the about dialog" + }, + "calendar": "Calendar", + "@calendar": {}, + "goToToday": "Go to today", + "@goToToday": { + "description": "Label on button to jump back to 'today' in the calendar widget" + }, + "enterRepetitionsOrWeight": "Please fill in either the repetitions or the weight for at least one of the sets", + "@enterRepetitionsOrWeight": { + "description": "Error message when the user hasn't filled in the forms for exercise sets" + }, + "enterValue": "Please enter a value", + "@enterValue": { + "description": "Error message when the user hasn't entered a value on a required field" + }, + "selectExercise": "Please select an exercise", + "@selectExercise": { + "description": "Error message when the user hasn't selected an exercise in the form" + }, + "enterCharacters": "Please enter between {min} and {max} characters", + "@enterCharacters": { + "description": "Error message when the user hasn't entered the correct number of characters in a form", + "type": "text", + "placeholders": { + "min": {}, + "max": {} + } + }, + "nrOfSets": "Sets per exercise: {nrOfSets}", + "@nrOfSets": { + "description": "Label shown on the slider where the user selects the nr of sets", + "type": "text", + "placeholders": { + "nrOfSets": {} + } + }, + "setUnitsAndRir": "Set units and RiR", + "@setUnitsAndRir": { + "description": "Label shown on the slider where the user can toggle showing units and RiR", + "type": "text" + }, + "enterValidNumber": "Please enter a valid number", + "@enterValidNumber": { + "description": "Error message when the user has submitted an invalid number (e.g. '3,.,.,.')" + }, + "selectIngredient": "Please select an ingredient", + "@selectIngredient": { + "description": "Error message when the user hasn't selected an ingredient from the autocompleter" + }, + "recentlyUsedIngredients": "Recently added ingredients", + "@recentlyUsedIngredients": { + "description": "A message when a user adds a new ingredient to a meal." + }, + "selectImage": "Please select an image", + "@selectImage": { + "description": "Label and error message when the user hasn't selected an image to save" + }, + "optionsLabel": "Options", + "@optionsLabel": { + "description": "Label for the popup with general app options" + }, + "takePicture": "Take a picture", + "chooseFromLibrary": "Choose from photo library", + "gallery": "Gallery", + "addImage": "Add image", + "dataCopied": "Data copied to new entry", + "@dataCopied": { + "description": "Snackbar message to show on copying data to a new log entry" + }, + "appUpdateTitle" : "Update needed", + "appUpdateContent" : "This version of the app is not compatible with the server, please update your application.", + + "productFound": "Product found", + "@productFound": { + "description": "Header label for dialog when product is found with barcode" + }, + + "productFoundDescription": "The barcode corresponds to this product: {productName}. Do you want to continue?", + "@productFoundDescription": { + "description": "Dialog info when product is found with barcode", + "type": "text", + "placeholders": { + "productName": {} + } + }, + "productNotFound": "Product not found", + "@productNotFound": { + "description": "Header label for dialog when product is not found with barcode" + }, + "productNotFoundDescription": "The product with the scanned barcode {barcode} was not found in the wger database", + "@productNotFoundDescription": { + "description": "Dialog info when product is not found with barcode", + "type": "text", + "placeholders": { + "barcode": {} + } + }, + "scanBarcode": "Scan barcode", + "@scanBarcode": { + "description": "Label for scan barcode button" + }, + "close": "Close", + "@close": { + "description": "Translation for close" + } +} From 33680212ecc756bae24dd56ac904dc50c86b25d8 Mon Sep 17 00:00:00 2001 From: Nenza Nurfirmansyah Date: Mon, 10 Oct 2022 11:44:33 +0700 Subject: [PATCH 2/3] add Bahasa Indonesia language & translation --- AUTHORS.md | 5 +++++ lib/l10n/app_id.arb | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index ea77dc6e3..5bbb802ef 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -13,6 +13,7 @@ - Marko Milosevic - - Karthik Reddy (Axel) - - Ogundoyin Toluwani - +- Nenza Nurfirmansyah - ## Translators @@ -51,3 +52,7 @@ - Japanese - Kosei TANAKA (97) + +- Indonesia + + - Nenza Nurfirmansyah (97) diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 052980dff..49bff8dea 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -104,7 +104,7 @@ "@exercise": { "description": "An exercise for a workout" }, - "searchExercise": "Carai latihan untuk ditambahkan", + "searchExercise": "Cari latihan untuk ditambahkan", "@searchExercise": { "description": "Label on set form. Selected exercises are added to the set" }, @@ -264,7 +264,7 @@ "@weight": { "description": "The weight of a workout log or body weight entry" }, - "measurement": "Measurement", + "measurement": "Ukuran", "measurements": "Measurements", "@measurements": { "description": "Categories for the measurements such as biceps size, body fat, etc." From c09fc037ff716af9c9c2446318a0d3953d7a4d5b Mon Sep 17 00:00:00 2001 From: Nenza Nurfirmansyah Date: Mon, 10 Oct 2022 11:44:48 +0700 Subject: [PATCH 3/3] update AUTHORS.md --- AUTHORS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index 5bbb802ef..ef6dcf18c 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -53,6 +53,6 @@ - Kosei TANAKA (97) -- Indonesia +- Bahasa Indonesia - - Nenza Nurfirmansyah (97) + - Nenza Nurfirmansyah (73)