# Gumawa ng Banking App Bahagi 2: Gumawa ng Login at Registration Form
```mermaid
journey
title Your Form Development Journey
section HTML Foundation
Understand form elements: 3: Student
Learn input types: 4: Student
Master accessibility: 4: Student
section JavaScript Integration
Handle form submission: 4: Student
Implement AJAX communication: 5: Student
Process server responses: 5: Student
section Validation Systems
Create multi-layer validation: 5: Student
Enhance user experience: 5: Student
Ensure data integrity: 5: Student
```
## Pre-Lecture Quiz
[Pre-lecture quiz](https://ff-quizzes.netlify.app/web/quiz/43)
Naranasan mo na bang mag-fill out ng form online at ma-reject ang email format mo? O kaya naman ay nawala ang lahat ng impormasyon mo pagkatapos mong mag-submit? Lahat tayo ay nakaranas ng ganitong nakakainis na karanasan.
Ang mga form ay nagsisilbing tulay sa pagitan ng mga user at ng functionality ng iyong application. Tulad ng maingat na protocol na ginagamit ng mga air traffic controller para gabayan ang mga eroplano sa kanilang destinasyon, ang maayos na disenyo ng mga form ay nagbibigay ng malinaw na feedback at pumipigil sa mga mahal na pagkakamali. Ang mga hindi maayos na form, sa kabilang banda, ay maaaring magtaboy sa mga user nang mas mabilis kaysa sa isang miscommunication sa abalang paliparan.
Sa leksyong ito, gagawin nating interactive ang iyong static na banking app. Matututo kang gumawa ng mga form na nagva-validate ng user input, nakikipag-ugnayan sa mga server, at nagbibigay ng kapaki-pakinabang na feedback. Isipin mo ito bilang paggawa ng control interface na nagpapahintulot sa mga user na mag-navigate sa mga feature ng iyong application.
Sa dulo, magkakaroon ka ng kumpletong login at registration system na may validation na gagabay sa mga user patungo sa tagumpay sa halip na frustration.
```mermaid
mindmap
root((Form Development))
HTML Foundation
Semantic Elements
Input Types
Accessibility
Label Association
User Experience
Validation Feedback
Error Prevention
Loading States
Success Messaging
JavaScript Integration
Event Handling
AJAX Communication
Data Processing
Error Management
Validation Layers
HTML5 Validation
Client-side Logic
Server-side Security
Progressive Enhancement
Modern Patterns
Fetch API
Async/Await
Form Data API
Promise Handling
```
## Mga Kinakailangan
Bago tayo magsimula sa paggawa ng mga form, siguraduhin muna natin na maayos ang iyong setup. Ang leksyong ito ay magpapatuloy mula sa huling bahagi, kaya kung lumaktaw ka, maaaring gusto mong balikan muna ang mga pangunahing kaalaman.
### Kinakailangang Setup
| Komponent | Status | Deskripsyon |
|-----------|--------|-------------|
| [HTML Templates](../1-template-route/README.md) | โ Kinakailangan | Ang pangunahing istruktura ng banking app mo |
| [Node.js](https://nodejs.org) | โ Kinakailangan | JavaScript runtime para sa server |
| [Bank API Server](../api/README.md) | โ Kinakailangan | Backend service para sa data storage |
> ๐ก **Tip sa Pag-develop**: Magpapatakbo ka ng dalawang magkahiwalay na server nang sabay โ isa para sa iyong front-end banking app at isa pa para sa backend API. Ang setup na ito ay sumasalamin sa totoong mundo ng pag-develop kung saan ang frontend at backend services ay gumagana nang magkahiwalay.
### Konfigurasyon ng Server
**Ang iyong development environment ay maglalaman ng:**
- **Frontend server**: Nagse-serve ng iyong banking app (karaniwang port `3000`)
- **Backend API server**: Nagha-handle ng data storage at retrieval (port `5000`)
- **Parehong server** ay maaaring tumakbo nang sabay nang walang conflict
**Pag-test ng iyong API connection:**
```bash
curl http://localhost:5000/api
# Expected response: "Bank API v1.0.0"
```
**Kung makikita mo ang API version response, handa ka nang magpatuloy!**
---
## Pag-unawa sa HTML Forms at Controls
Ang HTML forms ang paraan kung paano nakikipag-ugnayan ang mga user sa iyong web application. Isipin mo ito bilang telegraph system na nagkonekta sa mga malalayong lugar noong ika-19 na siglo โ ito ang communication protocol sa pagitan ng intensyon ng user at ng tugon ng application. Kapag maingat na dinisenyo, nahuhuli nito ang mga error, ginagabayan ang input formatting, at nagbibigay ng kapaki-pakinabang na mungkahi.
Ang mga modernong form ay mas sopistikado kaysa sa mga basic na text inputs. Ang HTML5 ay nagpakilala ng mga specialized input types na awtomatikong nagha-handle ng email validation, number formatting, at date selection. Ang mga improvement na ito ay kapaki-pakinabang para sa accessibility at mobile user experiences.
### Mahahalagang Elemento ng Form
**Mga building blocks na kailangan ng bawat form:**
```html
```
**Ang ginagawa ng code na ito:**
- **Gumagawa** ng form container na may natatanging identifier
- **Nagtatakda** ng HTTP method para sa data submission
- **Nag-a-associate** ng labels sa inputs para sa accessibility
- **Nagde-define** ng submit button para ma-process ang form
### Mga Modernong Input Types at Attributes
| Uri ng Input | Layunin | Halimbawa ng Paggamit |
|--------------|---------|-----------------------|
| `text` | General text input | `` |
| `email` | Email validation | `` |
| `password` | Hidden text entry | `` |
| `number` | Numeric input | `` |
| `tel` | Mga numero ng telepono | `` |
> ๐ก **Advantage ng Modern HTML5**: Ang paggamit ng specific input types ay nagbibigay ng automatic validation, tamang mobile keyboards, at mas mahusay na suporta sa accessibility nang walang karagdagang JavaScript!
### Mga Uri ng Button at Kanilang Gamit
```html
```
**Ang ginagawa ng bawat uri ng button:**
- **Submit buttons**: Nagti-trigger ng form submission at nagpapadala ng data sa specified endpoint
- **Reset buttons**: Ibinabalik ang lahat ng form fields sa kanilang initial state
- **Regular buttons**: Walang default na behavior, nangangailangan ng custom JavaScript para sa functionality
> โ ๏ธ **Mahalagang Paalala**: Ang `` element ay self-closing at hindi nangangailangan ng closing tag. Ang modernong best practice ay isulat ang `` nang walang slash.
### Paggawa ng Iyong Login Form
Ngayon, gagawa tayo ng praktikal na login form na nagpapakita ng mga modernong HTML form practices. Magsisimula tayo sa basic na istruktura at unti-unting pagagandahin ito gamit ang mga accessibility features at validation.
```html
Bank App
Login
```
**Pagbubuo ng nangyayari dito:**
- **Binubuo** ang form gamit ang semantic HTML5 elements
- **Inaayos** ang mga related elements gamit ang `div` containers na may meaningful classes
- **Ina-associate** ang labels sa inputs gamit ang `for` at `id` attributes
- **Naglalagay** ng modernong attributes tulad ng `autocomplete` at `placeholder` para sa mas magandang UX
- **Nagdadagdag** ng `novalidate` para ma-handle ang validation gamit ang JavaScript sa halip na default ng browser
### Ang Kahalagahan ng Tamang Labels
**Bakit mahalaga ang labels sa modernong web development:**
```mermaid
graph TD
A[Label Element] --> B[Screen Reader Support]
A --> C[Click Target Expansion]
A --> D[Form Validation]
A --> E[SEO Benefits]
B --> F[Accessible to all users]
C --> G[Better mobile experience]
D --> H[Clear error messaging]
E --> I[Better search ranking]
```
**Ang nagagawa ng tamang labels:**
- **Nagpapahintulot** sa screen readers na malinaw na i-announce ang form fields
- **Pinalalawak** ang clickable area (ang pag-click sa label ay nagfo-focus sa input)
- **Pinapabuti** ang mobile usability gamit ang mas malaking touch targets
- **Sumusuporta** sa form validation gamit ang meaningful error messages
- **Pinapaganda** ang SEO sa pamamagitan ng pagbibigay ng semantic na kahulugan sa form elements
> ๐ฏ **Layunin ng Accessibility**: Ang bawat form input ay dapat may kaugnay na label. Ang simpleng practice na ito ay nagpapadali sa paggamit ng iyong forms para sa lahat, kabilang ang mga user na may kapansanan, at pinapaganda ang karanasan para sa lahat ng user.
### Paggawa ng Registration Form
Ang registration form ay nangangailangan ng mas detalyadong impormasyon para makagawa ng kumpletong user account. Gawin natin ito gamit ang mga modernong HTML5 features at mas pinahusay na accessibility.
```html
Register
```
**Sa itaas, ginawa natin ang:**
- **Pag-aayos** ng bawat field sa container divs para sa mas magandang styling at layout
- **Pagdaragdag** ng tamang `autocomplete` attributes para sa browser autofill support
- **Paglalagay** ng helpful placeholder text para gabayan ang user input
- **Pag-set** ng sensible defaults gamit ang `value` attribute
- **Pag-aapply** ng validation attributes tulad ng `required`, `maxlength`, at `min`
- **Paggamit** ng `type="number"` para sa balance field na may decimal support
### Pag-explore ng Input Types at Behavior
**Ang mga modernong input types ay nagbibigay ng mas pinahusay na functionality:**
| Feature | Benepisyo | Halimbawa |
|---------|-----------|----------|
| `type="number"` | Numeric keypad sa mobile | Mas madaling pagpasok ng balance |
| `step="0.01"` | Decimal precision control | Pinapayagan ang cents sa currency |
| `autocomplete` | Browser autofill | Mas mabilis na pag-fill ng form |
| `placeholder` | Contextual hints | Ginagabayan ang inaasahan ng user |
> ๐ฏ **Accessibility Challenge**: Subukang mag-navigate sa forms gamit lamang ang iyong keyboard! Gamitin ang `Tab` para lumipat sa pagitan ng fields, `Space` para mag-check ng boxes, at `Enter` para mag-submit. Ang karanasang ito ay makakatulong sa iyong maunawaan kung paano nakikipag-ugnayan ang mga screen reader users sa iyong forms.
### ๐ **Pedagogical Check-in**
**Pag-unawa sa Pundasyon ng Form**: Bago mag-implement ng JavaScript, siguraduhing nauunawaan mo:
- โ Paano ang semantic HTML ay gumagawa ng accessible na form structures
- โ Bakit mahalaga ang input types para sa mobile keyboards at validation
- โ Ang relasyon sa pagitan ng labels at form controls
- โ Paano naaapektuhan ng form attributes ang default na behavior ng browser
**Mabilis na Self-Test**: Ano ang mangyayari kung mag-submit ka ng form nang walang JavaScript handling?
*Sagot: Ang browser ay gumagawa ng default submission, karaniwang nagre-redirect sa action URL*
**Benepisyo ng HTML5 Forms**: Ang mga modernong form ay nagbibigay ng:
- **Built-in Validation**: Automatic email at number format checking
- **Mobile Optimization**: Tamang keyboards para sa iba't ibang input types
- **Accessibility**: Suporta sa screen reader at keyboard navigation
- **Progressive Enhancement**: Gumagana kahit naka-disable ang JavaScript
## Pag-unawa sa Form Submission Methods
Kapag may nag-fill out ng iyong form at nag-click ng submit, kailangang mapunta ang data sa isang lugar โ karaniwang sa isang server na maaaring mag-save nito. May ilang iba't ibang paraan kung paano ito mangyayari, at ang pag-alam kung alin ang gagamitin ay makakapagligtas sa iyo mula sa ilang sakit ng ulo sa hinaharap.
Tingnan natin kung ano ang talagang nangyayari kapag may nag-click ng submit button.
### Default na Behavior ng Form
Una, obserbahan natin kung ano ang nangyayari sa basic form submission:
**I-test ang iyong kasalukuyang forms:**
1. I-click ang *Register* button sa iyong form
2. Obserbahan ang mga pagbabago sa address bar ng iyong browser
3. Pansinin kung paano nagre-reload ang page at lumalabas ang data sa URL

### Paghahambing ng HTTP Methods
```mermaid
graph TD
A[Form Submission] --> B{HTTP Method}
B -->|GET| C[Data in URL]
B -->|POST| D[Data in Request Body]
C --> E[Visible in address bar]
C --> F[Limited data size]
C --> G[Bookmarkable]
D --> H[Hidden from URL]
D --> I[Large data capacity]
D --> J[More secure]
```
**Pag-unawa sa mga pagkakaiba:**
| Method | Gamit | Lokasyon ng Data | Antas ng Seguridad | Limitasyon sa Laki |
|--------|-------|------------------|--------------------|--------------------|
| `GET` | Mga search queries, filters | URL parameters | Mababa (visible) | ~2000 characters |
| `POST` | Mga user accounts, sensitibong data | Request body | Mas mataas (hidden) | Walang praktikal na limitasyon |
**Pag-unawa sa mga pangunahing pagkakaiba:**
- **GET**: Idinadagdag ang form data sa URL bilang query parameters (angkop para sa search operations)
- **POST**: Isinasama ang data sa request body (mahalaga para sa sensitibong impormasyon)
- **Limitasyon ng GET**: Mga size constraints, visible data, persistent browser history
- **Mga Bentahe ng POST**: Malaking kapasidad ng data, proteksyon sa privacy, suporta sa file upload
> ๐ก **Best Practice**: Gamitin ang `GET` para sa mga search forms at filters (data retrieval), gamitin ang `POST` para sa user registration, login, at data creation.
### Pag-configure ng Form Submission
I-configure natin ang iyong registration form para maayos na makipag-ugnayan sa backend API gamit ang POST method:
```html
```
**Pag-unawa sa pinahusay na pag-validate:**
- **Pinagsasama** ang mga indicator ng kinakailangang field na may kapaki-pakinabang na mga paglalarawan
- **Kasama** ang mga `pattern` na attribute para sa pag-validate ng format
- **Nagbibigay** ng mga `title` na attribute para sa accessibility at mga tooltip
- **Nagdaragdag** ng helper text para gabayan ang input ng user
- **Gumagamit** ng semantic na istruktura ng HTML para sa mas mahusay na accessibility
### Mga Advanced na Panuntunan sa Pag-validate
**Ano ang nagagawa ng bawat panuntunan sa pag-validate:**
| Field | Mga Panuntunan sa Pag-validate | Benepisyo ng User |
|-------|-------------------------------|-------------------|
| Username | `required`, `minlength="3"`, `maxlength="20"`, `pattern="[a-zA-Z0-9_]+"` | Tinitiyak ang wastong, natatanging mga identifier |
| Currency | `required`, `maxlength="3"`, `pattern="[A-Z$โฌยฃยฅโน]+"` | Tumatanggap ng mga karaniwang simbolo ng pera |
| Balance | `min="0"`, `step="0.01"`, `type="number"` | Pinipigilan ang negatibong balanse |
| Description | `maxlength="100"` | Makatuwirang limitasyon sa haba |
### Pagsubok sa Pag-uugali ng Pag-validate
**Subukan ang mga senaryo ng pag-validate na ito:**
1. **Isumite** ang form na may mga walang laman na kinakailangang field
2. **Maglagay** ng username na mas maikli sa 3 karakter
3. **Subukan** ang mga espesyal na karakter sa field ng username
4. **Mag-input** ng negatibong halaga ng balanse

**Ano ang iyong mapapansin:**
- **Ipinapakita ng browser** ang mga native na mensahe ng pag-validate
- **Nagbabago ang estilo** batay sa mga estado ng `:valid` at `:invalid`
- **Ang pagsusumite ng form** ay pinipigilan hanggang sa maipasa ang lahat ng pag-validate
- **Awtomatikong lumilipat ang focus** sa unang invalid na field
### Pag-validate sa Client-Side vs Server-Side
```mermaid
graph LR
A[Client-Side Validation] --> B[Instant Feedback]
A --> C[Better UX]
A --> D[Reduced Server Load]
E[Server-Side Validation] --> F[Security]
E --> G[Data Integrity]
E --> H[Business Rules]
A -.-> I[Both Required]
E -.-> I
```
**Bakit kailangan mo ng parehong layer:**
- **Pag-validate sa client-side**: Nagbibigay ng agarang feedback at pinapabuti ang karanasan ng user
- **Pag-validate sa server-side**: Tinitiyak ang seguridad at pinangangasiwaan ang mga kumplikadong panuntunan sa negosyo
- **Pinagsamang diskarte**: Lumilikha ng matibay, user-friendly, at secure na mga aplikasyon
- **Progressive enhancement**: Gumagana kahit naka-disable ang JavaScript
> ๐ก๏ธ **Paalala sa Seguridad**: Huwag kailanman umasa lamang sa pag-validate sa client-side! Maaaring i-bypass ng mga malisyosong user ang mga check sa client-side, kaya't mahalaga ang pag-validate sa server-side para sa seguridad at integridad ng data.
### โก **Ano ang Magagawa Mo sa Susunod na 5 Minuto**
- [ ] Subukan ang iyong form gamit ang invalid na data para makita ang mga mensahe ng pag-validate
- [ ] Subukang isumite ang form na naka-disable ang JavaScript para makita ang pag-validate ng HTML5
- [ ] Buksan ang browser DevTools at suriin ang data ng form na ipinapadala sa server
- [ ] Mag-eksperimento sa iba't ibang uri ng input para makita ang mga pagbabago sa mobile keyboard
### ๐ฏ **Ano ang Magagawa Mo sa Loob ng Isang Oras**
- [ ] Kumpletuhin ang post-lesson quiz at unawain ang mga konsepto sa paghawak ng form
- [ ] Ipatupad ang hamon sa komprehensibong pag-validate na may real-time na feedback
- [ ] Magdagdag ng CSS styling para lumikha ng mga propesyonal na form
- [ ] Gumawa ng paghawak ng error para sa mga duplicate na username at mga error sa server
- [ ] Magdagdag ng mga field para sa kumpirmasyon ng password na may pag-validate ng pagkakatugma
### ๐ **Ang Iyong Lingguhang Paglalakbay sa Pag-master ng Form**
- [ ] Kumpletuhin ang buong banking app na may mga advanced na tampok ng form
- [ ] Ipatupad ang kakayahan sa pag-upload ng file para sa mga profile picture o dokumento
- [ ] Magdagdag ng mga multi-step na form na may mga progress indicator at pamamahala ng estado
- [ ] Gumawa ng mga dynamic na form na umaangkop batay sa mga seleksyon ng user
- [ ] Ipatupad ang autosave ng form at recovery para sa mas mahusay na karanasan ng user
- [ ] Magdagdag ng advanced na pag-validate tulad ng email verification at formatting ng numero ng telepono
### ๐ **Ang Iyong Buwanang Pag-master sa Frontend Development**
- [ ] Bumuo ng mga kumplikadong aplikasyon ng form na may conditional logic at workflows
- [ ] Matutunan ang mga library ng form at mga framework para sa mabilis na pag-develop
- [ ] I-master ang mga alituntunin sa accessibility at mga prinsipyo ng inclusive na disenyo
- [ ] Ipatupad ang internationalization at localization para sa mga global na form
- [ ] Gumawa ng mga reusable na component ng form library at mga sistema ng disenyo
- [ ] Mag-ambag sa mga open source na proyekto ng form at magbahagi ng mga pinakamahusay na kasanayan
## ๐ฏ Ang Iyong Timeline sa Pag-master ng Form Development
```mermaid
timeline
title Form Development & User Experience Learning Progression
section HTML Foundation (15 minutes)
Semantic Forms: Form elements
: Input types
: Labels and accessibility
: Progressive enhancement
section JavaScript Integration (25 minutes)
Event Handling: Form submission
: Data collection
: AJAX communication
: Async/await patterns
section Validation Systems (35 minutes)
Multi-layer Security: HTML5 validation
: Client-side logic
: Server-side verification
: Error handling
section User Experience (45 minutes)
Interface Polish: Loading states
: Success messaging
: Error recovery
: Accessibility features
section Advanced Patterns (1 week)
Professional Forms: Dynamic validation
: Multi-step workflows
: File uploads
: Real-time feedback
section Enterprise Skills (1 month)
Production Applications: Form libraries
: Testing strategies
: Performance optimization
: Security best practices
```
### ๐ ๏ธ Buod ng Iyong Toolkit sa Pag-develop ng Form
Pagkatapos makumpleto ang araling ito, na-master mo na ang:
- **HTML5 Forms**: Semantic na istruktura, mga uri ng input, at mga tampok ng accessibility
- **Paghawak ng Form sa JavaScript**: Pamamahala ng event, koleksyon ng data, at komunikasyon ng AJAX
- **Arkitektura ng Pag-validate**: Multi-layer na pag-validate para sa seguridad at karanasan ng user
- **Asynchronous Programming**: Modernong fetch API at mga pattern ng async/await
- **Pamamahala ng Error**: Komprehensibong paghawak ng error at mga sistema ng feedback ng user
- **Disenyo ng Karanasan ng User**: Mga loading state, mga mensahe ng tagumpay, at pag-recover ng error
- **Progressive Enhancement**: Mga form na gumagana sa lahat ng browser at kakayahan
**Mga Aplikasyon sa Tunay na Mundo**: Ang iyong mga kasanayan sa pag-develop ng form ay direktang naaangkop sa:
- **E-commerce Applications**: Mga proseso ng checkout, pagrehistro ng account, at mga form ng pagbabayad
- **Enterprise Software**: Mga sistema ng pagpasok ng data, mga interface ng pag-uulat, at mga aplikasyon ng workflow
- **Content Management**: Mga platform ng pag-publish, user-generated content, at mga interface ng administrasyon
- **Financial Applications**: Mga interface ng banking, mga platform ng pamumuhunan, at mga sistema ng transaksyon
- **Healthcare Systems**: Mga portal ng pasyente, pag-schedule ng appointment, at mga form ng medikal na rekord
- **Educational Platforms**: Pagrehistro ng kurso, mga tool sa pagtatasa, at mga sistema ng pamamahala ng pag-aaral
**Mga Propesyonal na Kasanayan na Nakuha**: Ngayon ay kaya mo nang:
- **Magdisenyo** ng mga accessible na form na gumagana para sa lahat ng user kabilang ang mga may kapansanan
- **Magpatupad** ng secure na pag-validate ng form na pumipigil sa korapsyon ng data at mga kahinaan sa seguridad
- **Lumikha** ng mga tumutugon na user interface na nagbibigay ng malinaw na feedback at gabay
- **Mag-debug** ng mga kumplikadong interaksyon ng form gamit ang browser developer tools at network analysis
- **Mag-optimize** ng performance ng form sa pamamagitan ng episyenteng paghawak ng data at mga diskarte sa pag-validate
**Mga Konsepto sa Frontend Development na Na-master**:
- **Event-
**Prompt:** Gumawa ng kumpletong sistema ng pag-validate ng form para sa registration form na may kasamang: 1) Real-time na feedback sa pag-validate para sa bawat field habang nagta-type ang user, 2) Mga custom na mensahe ng pag-validate na lumalabas sa ibaba ng bawat input field, 3) Isang password confirmation field na may validation para sa pagkakatugma, 4) Mga visual na indikasyon (tulad ng berdeng checkmark para sa valid na mga field at pulang babala para sa mga hindi valid), 5) Isang submit button na magiging enabled lamang kapag pumasa ang lahat ng validation. Gumamit ng HTML5 validation attributes, CSS para sa pag-istilo ng validation states, at JavaScript para sa interactive na behavior.
Alamin pa ang tungkol sa [agent mode](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) dito.
## ๐ Hamon
Magpakita ng error message sa HTML kung ang user ay umiiral na.
Narito ang isang halimbawa ng kung ano ang magiging hitsura ng final login page pagkatapos ng kaunting pag-istilo:

## Post-Lecture Quiz
[Post-lecture quiz](https://ff-quizzes.netlify.app/web/quiz/44)
## Review & Pag-aaral sa Sarili
Ang mga developer ay naging napaka-malikhain sa kanilang mga pagsisikap sa paggawa ng form, lalo na sa mga estratehiya sa pag-validate. Alamin ang iba't ibang daloy ng form sa pamamagitan ng pagtingin sa [CodePen](https://codepen.com); makakakita ka ba ng mga kawili-wili at nakaka-inspire na mga form?
## Takdang-Aralin
[Istilo ang iyong bank app](assignment.md)
---
**Paunawa**:
Ang dokumentong ito ay isinalin gamit ang AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Bagamat sinisikap naming maging tumpak, mangyaring tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito.